LINQ:如何在orderBy子句中使用变量字段列表

时间:2014-08-29 16:48:08

标签: c# sql linq

我正在研究一个系统,该系统将orderBy子句存储为数据库中以逗号分隔的字符串。

此字符串可包含0-3个元素。

有没有一种优雅的方法可以编写一个Linq查询来处理这个问题,而无需诉诸于case语句?

以下是我要做的事情的要点:

var instruments = from i in db.Instruments
                  orderby "Field1, Field2, Field3"
                  select i;

1 个答案:

答案 0 :(得分:1)

通常情况下,我会向您推荐Dynamic LINQ

然后

using System.Linq.Dynamic;
..
var instruments = db.Instruments.OrderBy("Field1").ThenBy("Field2");

您还可以创建自己的扩展程序,如HERE所述。