可空对象在除法时必须有值

Nullable object must have a value when deviding

我有以下映射:

 .ForMember(dest => dest.AskerAverageRating, opt => opt.MapFrom(src =>
      src.ReviewsReceived != null?
      ((float)src.ReviewsReceived.Sum(r => r.Rating) / (float)src.ReviewsReceived.Count()) : 0))  

仅此一项:

(float)src.ReviewsReceived.Sum(r => r.Rating)  

有效。

仅此一项:

(float)src.ReviewsReceived.Count()  

也有效。

然而,他们给出了以下错误:

 System.InvalidOperationException: Nullable object must have a value.  

为什么???

以下是相关属性和实体:

这是目的地

public float AskerAverageRating { get; set; }  

这些是来源:

public ICollection<Review> ReviewsReceived { get; set; }  

这是Review:

public class Review
{
    ..
    public int Rating { get; set; }
    ..  

..我在数据库中没有发现任何奇怪的东西。

您缺少 src.ReviewsReceived != null 两边的括号。

请在此处找到有效的解决方案:https://dotnetfiddle.net/gaGZp0