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

本文关键字:变量 字段 列表 子句 orderBy LINQ | 更新日期: 2023-09-27 18:19:57

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

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

有没有一种优雅的方法可以编写一个Linq查询来处理这个问题,而不需要使用case语句?

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

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

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

通常,我会向您推荐动态LINQ

然后

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

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