2014-08-29 50 views
-2

我正在處理將orderBy子句作爲逗號分隔的字符串存儲在數據庫中的系統。LINQ:如何在orderBy子句中使用可變字段列表

該字符串可以包含0-3個元素。

有沒有一種優雅的方式來編寫一個Linq查詢來處理這個問題,而不訴諸case語句?

這裏是我想要做的要點:

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

回答

1

由於通常情況下,我會向你推薦Dynamic LINQ

然後

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

您也可以創建自己的擴展如HERE所述。

相關問題