【发布时间】:2012-01-28 22:14:54
【问题描述】:
关于 SO 有很多类似的问题,但我没有看到适合我情况的问题...
我想知道为什么这不能对 Premise 对象的 IEnumerable 进行排序:
sortedPremiseList = from p in premiseList
orderby (string.Format("{0} {1}", orderBy, sortOrder))
select p;
我为 orderBy 参数传入一个有效的 p.property,为 sortOrder 参数传入“升序”或“降序”
如果我不能像这样以有限的方式“动态化”我的 LINQ,除了一个又大又丑的 Switch 语句或类似的东西之外,还有什么选择?
非常感谢您的宝贵时间。
【问题讨论】:
-
string.Format的参数不应该是p.OrderBy和p.sortOrder吗?
-
Dynamic LINQ OrderBy 由 Marc Gravell 在 [this answer][1] 中为 IEnumerable 提供。 [1]:stackoverflow.com/questions/41244/dynamic-linq-orderby
-
似乎对我来说最好的解决方案是按照 hypermush 的建议使用 Marc 的代码。
标签: c# linq sorting sql-order-by