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 回答