我的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, æøå
我该如何纠正?
答案 0 :(得分:9)
如果您将使用流畅的Linq语法,您可以将字符串比较器传递给OrderBy
方法:
var model = db.News.OrderBy(w => w.Title, StringComparer.InvariantCulture)
.ToList();
顺便说一句,您可以使用StringComparer.Create
方法创建特定于您的文化的字符串比较器:
StringComparer.Create(new CultureInfo("da-DK"), true)