我有两个相关的表格:
OrderHeader
OrderItem的
OrderItem包含OrderHeaderId列(外键关系)。 我的WebService必须使用orderItems选择特定的Order并将其返回(在解析之后)到客户端。由于OrderItem中的重要数据,我必须使用急切加载。我的数据库查询需要首先加载未完成(Status IN 1402,1403 AND Read = 0)的顺序。所以:
context.Configuration.LazyLoadingEnabled = false;
var query = context.OrderHeader
.Where(o=> new[] { 1402, 1403 }.Contains(o.Status) && o.OrderItem.Any(g => g.Read == 0))
.OrderBy(o => o.Id)
.GroupBy(g => g.Group)
.FirstOrDefault()
.AsQueryable()
.Include("OrderItem");
我使用GroupBy取得第一个未完成的Group,每次它返回一个空的OrderItem表。为什么?如何在GroupBy语句后包含子表?