我的 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, æøå
我该如何纠正这个问题?
最佳答案
如果您要使用流畅的 Linq 语法,您可以将字符串比较器传递给 OrderBy
方法:
var model = db.News.OrderBy(w => w.Title, StringComparer.InvariantCulture)
.ToList();
顺便说一句,您可以使用 StringComparer.Create
方法创建特定于您的文化的字符串比较器:
StringComparer.Create(new CultureInfo("da-DK"), true)
关于c# - Linq orderby 文化(丹麦语,æøå),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15994098/