在LINQ中过滤导航属性

时间:2016-08-18 20:54:43

标签: c# entity-framework linq

我有一个LINQ查询,可以获取大量数据(如下所示)。此查询导致超时问题,因此我尝试对其进行过滤,以便只获取所需的记录。我试图获得特定日期的订单。日期字段位于Order表中,但我如何将其汇总到下面的LINQ查询中。我尝试在第二个.Include之后添加.Where(...),但这给了我错误。

var productEntities = _context.Set<Product>()
            .Include(p => p.OrderItems)
            .Include(p => p.OrderItems.Select(oi => oi.Order))
            .Include(p => p.OrderItems.Select(oi => oi.Order.Client))                
            .ToList();

1 个答案:

答案 0 :(得分:0)

我相信Ivan Stoev是正确的,如果你按顺序执行,那么你实际上也缩小了数据库中的Sql连接。我想先尝试使用日期过滤订单,然后使用SelectMany检索产品,我不知道您的表格关系究竟是什么,但这个想法是这样的:

var data = $("#Staff").data("kendoMultiSelect").dataItems();
var data = $("#Staff").data("kendoMultiSelect").value();