6

orderby linq 式に問題があります。出力が間違った順序で生成されます。私はデンマーク出身で、デンマークのウェブサイトを作成しているため、順序は正確でなければなりません。

これが私のクエリです:

var model = (from w in db.News
                orderby w.Title
                select w).ToList();

出力は次のとおりです。

1, 123
2, æøå
3, hallo
4, know

正しい順序は次のようになります。

1, 123
2, hallo
3, know
4, æøå

これを修正するにはどうすればよいですか?

4

1 に答える 1

10

OrderBy流暢な Linq 構文を使用する場合は、文字列比較子をメソッドに渡すことができます。

var model = db.News.OrderBy(w => w.Title, StringComparer.InvariantCulture)
              .ToList();

StringComparer.Createところで、メソッドを使用して、カルチャに固有の文字列比較子を作成できます。

StringComparer.Create(new CultureInfo("da-DK"), true)
于 2013-04-13T23:39:21.050 に答える