Linq Orderby文化(丹麦,æøå) [英] Linq orderby culture (danish, æøå)

查看:76
本文介绍了Linq Orderby文化(丹麦,æøå)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的orderby linq表达式有问题.它以错误的顺序生成输出.我来自丹麦,正在创建一个丹麦网站,因此订购顺序必须准确.

I'm having a problem with my orderby linq expression. It generates the output in a wrong order. I'm from Denmark and creating a danish website, therefor the order has to be exact ofc.

这是我的查询:

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

输出为:

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

正确的顺序应该是这样的:

The correct order should be like this:

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

我该如何纠正?

推荐答案

如果您将使用流利的Linq语法,则可以将字符串比较器传递给OrderBy方法:

You can pass string comparer to OrderBy method if you will use fluent Linq syntax:

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

顺便说一句,您可以使用StringComparer.Create方法创建特定于您的区域性的字符串比较器:

BTW you can create string comparer specific to your culture with StringComparer.Create method:

StringComparer.Create(new CultureInfo("da-DK"), true)

这篇关于Linq Orderby文化(丹麦,æøå)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆