【问题标题】: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的正文吗?

标签: c# .net linq include


【解决方案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 我在一行中添加了第二个解决方案,但我不确定哪个更好。
  • 好吧,我对解决方案并不完全满意,但我会接受它,因为我没有其他选择。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-19
  • 2013-09-06
  • 1970-01-01
相关资源
最近更新 更多