私は次のエンティティモデルを持っています:
そしてそれから私は次のような形式のデータが必要です:
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();
}
このエラーが発生します:
マテリアライズされた値がnullであるため、値型'Int32'へのキャストが失敗しました。結果型のジェネリックパラメーターまたはクエリは、null許容型を使用する必要があります。
何か案は?