我有一張表,我正在寫一些C#
selenium
自動化並需要一些使用Dynamic Linq的幫助。假設我有一個基本的AcctNum
,AcctDate
和AcctName
記錄,每個字段可以由用戶排序。他們可以選擇AcctNum
(asc),AcctDate
(asc),最後選擇AcctName
(asc)。動態Linq訂購變量
這將是:
var sortedCode = records.OrderBy(r => r.AcctNum)
.ThenBy(r => r.AcctDate)
.ThenBy(r => r.AcctName)
.ToList();
但用戶也可以選擇AcctNum
(遞減),AcctDate
(ASC),最後AcctName
(DESC)。
我想要做的是使用動態Linq並使每個排序順序變量。
因此,像:
//passed in values:
var varAcctNumOrd = "desc";
var varDateOrd = "asc";
var varAcctOrd = "desc";
var sortedCode = records.OrderBy(r => r.AcctNum, varAcctNumOrd)
.ThenBy(r => r.AcctDate, varDateOrd)
.ThenBy(r => r.AcctNum, varAcctOrd)
.ToList();
這可能嗎?
你問的動態方向(上行/下行)或者這些字段也是動態的?順便說一句,所謂的動態LINQ('System.Linq.Dynamic')與字符串一起工作。 –
嘿伊萬。測試用例將爲每個字段傳遞升序或降序的變量。我只需要將這些變量中的每一個傳遞給排序順序,這樣我就可以驗證這些排序在UI中正常工作。 – Dazed
什麼是'記錄'變量的**類型** - 'IQueryable'或'IEnumerable '? –