1

OrderByを使用した動的なlinqクエリがあります。

 .AsQueryable().OrderBy("FullName", asc)

FullNameで並べ替えた後、ステータス(ThenBy()など)で並べ替える必要があります。ステータスには「A」、「B」、「C」、「D」などの値が含まれる場合がありますが、「B」、「A」、「D」、「C」の順序で並べ替える必要があります。その結果、この場合はasc/descを使用できません。

4

1 に答える 1

2

次のことを行う必要があります。

a)必要な順序でキーのコレクションを定義します

var keys = new string[]{"B", "A", "D", "C"};

b) 上記のキーを使用して、データのカスタム順序を定義します

var result = yourCollection.AsQueryable()
                           .OrderBy("FullName", asc)
                           .ThenBy(x=>keys.IndexOf(x.Status));
于 2012-06-26T15:27:19.207 に答える