クライアントブラウザから送信された並べ替えフィールドのコレクションに基づいて、データセットのカスタムフィルタリングと並べ替えを行っており、Dynamic Linqを使用して(ほとんどの)目的の効果を実現しています。問題が発生しているのは、従来の文字列と文字列として格納されている数値の両方を含むString型の列で並べ替えようとしたときです。StringComparison列挙値を渡したり、DynamicLinqorderby関数にIComparerパラメーターを指定したりできないようです。
私のソートコードは次のようになります:
myList.AsQueryable().OrderBy("StringColWithNums ASC")
私は最終的に:
1
10
100
11
12
2
20
それ以外の:
1
2
10
11
12
20
100
誰かが似たようなことをした経験はありますか?