为什么此查询返回“ System.NotImplementedException”?

时间:2019-02-18 12:12:34

标签: c#

在调试此查询时,出现错误“静态成员”和“非公共成员”。 以下查询有什么问题:

var existingShippingId = shippingSeriesRepository
    .FilterBy(sid => shippingId == sid.ShippingId)
    .FirstOrDefault(); //this working fine without error

var filtered = positioningPlanRepository
                    .FilterBy(x => x.ShippingSerieses.Contains(existingShippingId))
                    .GroupBy(x => x.DeliveryDate)
                    .Where(x => x.Count() > 1)
                    .Select(x => x.Select(y => y.PlanId));

当我单击详细信息错误时,我收到此消息:

  

System.NotImplementedException =错误CS0119:“ NotImplementedException”是一种类型,在给定上下文中无效,新的System.Linq.SystemCore_EnumerableDebugView>(已过滤).Items,隐藏=“新的System.Linq.SystemCore_EnumerableDebugView>(已过滤).Items引发了类型为'System.NotImplementedException'的异常

2 个答案:

答案 0 :(得分:0)

问题是,您还没有在以下行的x类中实现Select()方法:

.Select(x => x.Select(y => y.PlanId));

我认为正确的版本是:

.Select(x => x.PlanId);

答案 1 :(得分:0)

据我了解到此查询Select (x => x.Select(y =>,该问题已在内存中运行,而NHibarnate无法理解。 我在查询末尾添加了ToList(),它可以正常工作。

var filtered = positioningPlanRepository
                .FilterBy(x => x.ShippingSerieses.Contains(existingShippingId)).ToList()
                .GroupBy(x => x.DeliveryDate)
                .Where(x => x.Count() > 1)
                .Select(x => x.Select(y => y.PlanId));