无法投影linq查询

时间:2012-06-14 14:35:32

标签: c# linq entity-framework projection

我有以下实体模型:

enter image description here

从中我需要采用以下格式的数据:

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。结果类型的泛型参数或查询必须使用可空类型。

有什么想法吗?

0 个答案:

没有答案