【问题标题】:Dynamic ordering in Entity Framework实体框架中的动态排序
【发布时间】:2014-07-03 10:45:20
【问题描述】:

我必须在实体框架中实现动态排序。我发现一段代码几乎允许我这样做,但它不适用于导航属性。

这行得通:

students.OrderBy("StudentName");

这不是:

students.OrderBy("Department.Ordinal");

这是一段代码:

http://philsversion.com/2012/02/21/orderby-a-string-in-entity-framework/

我怎样才能改变它以允许我需要的行为?

【问题讨论】:

  • Dynamic是否表示列表students的对象类型未知?
  • 也许是这个:students.OrderBy(s => s.Department.Ordinal);?

标签: c# .net linq entity-framework


【解决方案1】:

检查System.Dynamic.Linq。我正在使用它,它还可以使用参数处理更复杂的查询。

【讨论】:

  • 好的,这看起来是一个更好的解决方案!我的场景基本上是这样的:我有一个为了版本控制而标准化的实体。大约 200 万行我尝试的任何解决方案都开始变慢。我会试试这个,看看效果如何。
  • @AndrewC 如果您的数据库未正确索引,您尝试的任何解决方案都不会执行良好。它与您在实体框架中使用的方法无关。它们都将归结为大致相同的 SQL 代码。
  • @Dismissile 是的,我知道这一点。速度变慢的原因实际上更多是由于视图中的函数调用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-30
  • 1970-01-01
  • 1970-01-01
  • 2013-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多