我有以下实体模型:
从中我需要采用以下格式的数据:
Name, Picked, Packed, Complaints
ie Name=Muhammad Picked=6 Packed=9 Complaints=1
在给定时间段内(使用ProcessedOn)。
我有以下复杂的查询(对我而言)。
using(var db = new DbContainer())
{
var workers =
db.Workers.Select(
x => new
{
x.Name,
Picked = x.PickedOrders.Where(a => a.ProcessedOn >= dtStart.Value && a.ProcessedOn <= dtEnd.Value).Sum(y => y.Units),
Packed = x.PackedOrders.Where(a => a.ProcessedOn >= dtStart.Value && a.ProcessedOn <= dtEnd.Value).Sum(y => y.Units),
Complaints = x.PickedOrders.Where(a => a.ProcessedOn >= dtStart.Value && a.ProcessedOn <= dtEnd.Value).Count(y => y.Complaint != null)
+ x.PackedOrders.Where(a => a.ProcessedOn >= dtStart.Value && a.ProcessedOn <= dtEnd.Value).Count(y => y.Complaint != null)
}).ToList();
}
我收到此错误:
转换为值类型“Int32”失败,因为具体化值为null。结果类型的泛型参数或查询必须使用可空类型。
有什么想法吗?