我正在研究一个系统,该系统将orderBy子句存储为数据库中以逗号分隔的字符串。
此字符串可包含0-3个元素。
有没有一种优雅的方法可以编写一个Linq查询来处理这个问题,而无需诉诸于case语句?
以下是我要做的事情的要点:
var instruments = from i in db.Instruments
orderby "Field1, Field2, Field3"
select i;
答案 0 :(得分:1)
通常情况下,我会向您推荐Dynamic LINQ
然后
using System.Linq.Dynamic;
..
var instruments = db.Instruments.OrderBy("Field1").ThenBy("Field2");
您还可以创建自己的扩展程序,如HERE所述。