1
Dim classCodeDetails As List(Of ClassCodeDetail) =     
    db.ClassCodeHeaders.Single(Function(cch)
        cch.CLCH_ID = classCodeHeaderId
    ).ClassCodeDetails.ToList()

classCodeDetails.Sort(Function(c1, c2)  
    c1.Make.MAKE_English.CompareTo(c2.Make.MAKE_English)
)

私の質問は、複数の属性を並べ替えるにはどうすればよいですか? Make.MAKE_English最初に で並べ替え、次に で並べ替えたいModel.MODL_English

どうすればそれを実装できますか?

ありがとう、
~ck

4

1 に答える 1

2

その場で並べ替える必要がない場合は、次のOrderBy関数を使用できます。

Dim sortedList = list.OrderBy(Function(x) x.Prop1).ThenBy(Function(x) x.Prop2)

あなたの例は次のようになります。

Dim classCodeDetails As List(Of ClassCodeDetail) = _
   db.ClassCodeHeaders.Single(Function(cch) cch.CLCH_ID = classCodeHeaderId).ClassCodeDetails _
  .OrderBy(Function(c1) c1.Make.MAKE_English) _
  .ThenBy(Function(c1) c1.Make.MODL_English) _
  .ToList()

実際、これはこれを行う正しい方法です (LINQ to SQL を使用しているようです) ORDER BY。クライアントで手動でデータを並べ替える代わりに、生成された SQL ステートメントでデータを並べ替えるためです。

于 2009-05-11T21:43:34.793 に答える