Linq query with nullable sum

前端 未结 14 1910
粉色の甜心
粉色の甜心 2020-11-29 06:23
from i in Db.Items
select new VotedItem
{
    ItemId = i.ItemId,
    Points = (from v in Db.Votes
              where b.ItemId == v.ItemId
              select v.Poi         


        
14条回答
  •  感动是毒
    2020-11-29 06:43

    A simple but effective workaround would be to only sum the votes where Points.Count > 0, so you never have null values:

    from i in Db.Items
    select new VotedItem
    {    
      ItemId = i.ItemId,
      Points = (from v in Db.Votes
                where b.ItemId == v.ItemId &&
                v.Points.Count > 0
                select v.Points).Sum()
    }
    

提交回复
热议问题