0

我有以下实体模型:

在此处输入图像描述

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

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”失败,因为具体化值为空。结果类型的泛型参数或查询必须使用可为空的类型。

有任何想法吗?

4

0 回答 0