我得到“无法将null值分配给System.Int32类型为非空值类型的成员”执行我的空语句的Sum()时。 ResultView工作正常,但无论是Linq:int的总和
var r = from v in DataContext.Visits
join bs in DataContext.BaseContents on v.BaseContentID equals bs.Id
where (bs.CreatedBy == userId) && (v.DateVisited.Year == workDate.Year) &&
(v.DateVisited.Month == workDate.Month) && (v.DateVisited.Day == workDate.Day) &&
(v.IsPreviewed == false) && (bs.ProfileProjectId != null)
select v;
int? number = r.Sum(v => v.Counter);
要么
var r = from v in DataContext.Visits
join bs in DataContext.BaseContents on v.BaseContentID equals bs.Id
where (bs.CreatedBy == userId) && (v.DateVisited.Year == workDate.Year) &&
(v.DateVisited.Month == workDate.Month) && (v.DateVisited.Day == workDate.Day) &&
(v.IsPreviewed == false) && (bs.ProfileProjectId != null)
select v.Counter;
int? number = r.Sum(v);
失败,同样的异常。
解决方法是检查和前COUNT(),但它看起来是相当愚蠢的。 – st78 2009-10-12 14:50:32