私はC#
selenium
の自動化テーブルを作成しており、ダイナミックLinqを使用していくつかの助けが必要です。私は基本的なAcctNum
,AcctDate
とAcctName
レコードを持っていて、各フィールドはユーザーがソートできるとしましょう。彼らはAcctNum
(昇順)、AcctDate
(昇順)、そして最後にAcctName
(昇順)を選択できます。だろうダイナミックLinqオーダー変数
:
var sortedCode = records.OrderBy(r => r.AcctNum)
.ThenBy(r => r.AcctDate)
.ThenBy(r => r.AcctName)
.ToList();
ユーザーもAcctNum
(DESC)を選択することができますしかし、AcctDate
(ASC)、最後にAcctName
(DESC)。
私がしたいのは、Dynamic 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')と呼ばれるbtwは、文字列で動作します。 –
ちょっとイワン。テストケースは、各フィールドの昇順または降順の変数を渡します。これらの変数のそれぞれをソート順に渡すだけで、ソートがUIで正しく動作していることを検証できます。 – Dazed
そして、 'records'変数の** type ** --IQueryable'または 'IEnumerable 'とは何ですか? –