如何在实体框架中包含排序的导航属性[重复]
Posted
技术标签:
【中文标题】如何在实体框架中包含排序的导航属性[重复]【英文标题】:How to include sorted navigation properties with Entity Framework [duplicate] 【发布时间】:2012-10-25 09:30:20 【问题描述】:我有一个实体A
,里面有B
的集合。我用_entity.A.Include(a => a.B)
加载它们
现在我想将 B 放入 A 中,按自定义 OrderBy 排序。我试过_entity.A.Include(a => a.B.OrderBy(o => o.Version)
,但我得到了一个:
包含路径表达式必须引用在类型上定义的导航属性。对引用导航属性使用虚线路径,对集合导航属性使用 Select 运算符。
关于如何实现这一点的任何想法?
谢谢。
版本是一个整数。
【问题讨论】:
你能贴出你的OrderBy
的正文吗?
【参考方案1】:
我认为在这种情况下你可以尝试:
var list = _entity.A.Include("B").ToList();
list.ForEach(m => m.B = m.B.OrderBy(o => o.Version));
或:
_entity.A.Include("B").Select(m => new A
//some props,
B = m.B.OrderBy(o => o.Version)
);
【讨论】:
同意,但是这可以通过一个查询来完成,以避免将集合循环两次吗? @SoMoS 我在一行中添加了第二个解决方案,但我不确定哪个更好。 好吧,我对解决方案并不完全满意,但我会接受它,因为我没有其他选择。谢谢!以上是关于如何在实体框架中包含排序的导航属性[重复]的主要内容,如果未能解决你的问题,请参考以下文章