LINQにおける複数の"order by"について
2つのテーブル、movies
とcategories
があり、最初にcategoryIDで、次にNameで順序付けられたリストを得ることができます。
ムービーテーブルには3つのカラム ID, Name, CategoryID があります。 カテゴリテーブルには、2つのカラムIDとNameがあります。
以下のようなことを試してみましたが、うまくいきませんでした。
var movies = _db.Movies.OrderBy( m => { m.CategoryID, m.Name })
1534
3
これなら大丈夫でしょう。
ラムダではない、クエリシンタックスのLINQを使えば、このようなことが可能になります。
[EDIT to address comment] ソート順を制御するには、キーワード
ascending
(これはデフォルトなので特に有用ではありません) またはdescending
を使用して、次のようにします。new "を追加。
これは私のマシンでは動作します。ソートに使用できるものを返します。これは2つの値を持つオブジェクトを返します。
次のように、組み合わせた列でソートするのと似ていますが、違います。