可空对象在除法时必须有值
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
我有以下映射:
.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