我有以下实体模型:
从中我需要以下格式的数据:
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”失败,因为具体化值为空。结果类型的泛型参数或查询必须使用可为空的类型。
有任何想法吗?