Linq EF Group By删除导航属性
EF,我正在检索一个小部件实体。当我使用GroupBy时,它返回时没有填充导航属性,当我不使用GroupBy时,会填充导航属性。我的groupby可能是错的,但为什么唯一受影响的是导航属性? 以下是查询:Linq EF Group By删除导航属性,linq,entity-framework,group-by,Linq,Entity Framework,Group By,EF,我正在检索一个小部件实体。当我使用GroupBy时,它返回时没有填充导航属性,当我不使用GroupBy时,会填充导航属性。我的groupby可能是错的,但为什么唯一受影响的是导航属性? 以下是查询: List<NewFacilityLimit> group = (from item in tdsDb.Widgets .Include("NewTslTiers")
List<NewFacilityLimit> group = (from item in tdsDb.Widgets
.Include("NewTslTiers")
group item by item.AreaId
into groupedPerAreaId
let maxWidgetId =
groupedPerAreaId.Max(item => item.WidgetId)
select groupedPerAreaId.Where(
y => y.WidgetId == maxWidgetId)
.FirstOrDefault())
.ToList();
List group=(来自tdsDb.Widgets中的项
.包括(“新层”)
按项分组。区域ID
分组
设maxWidgetId=
groupedPerAreaId.Max(item=>item.WidgetId)
选择groupedPerAreaId。其中(
y=>y.WidgetId==maxWidgetId)
.FirstOrDefault())
.ToList();
返回时没有新的层。鉴于:
List<NewFacilityLimit> noGroup = (from item in tdsDb.Widgets
.Include("NewTslTiers")
select item).ToList();
List noGroup=(来自tdsDb.Widgets中的项
.包括(“新层”)
选择项);
这将返回NewTslTiers。唯一的区别是分组方式。有人知道为什么吗 这显然是“故意的”——
我没有在MSDN上看到任何东西,但有和讨论了这种行为。这显然是“设计”:
Include
不适用于预测:是否有MSDN文档?你链接到haas的问题是指向一个不再存在的MS Connect页面的链接。我只是问你已经在这个页面上搜索了MSDN文档!但它没有被标记在任何地方似乎很疯狂。我在MSDN上没有看到任何东西,但是有一篇2009年的博客帖子()和一篇2007年的论坛帖子()讨论了这种行为。谢谢。如果你把答案贴出来,我会记下来的。