C# Linq Orderby vs SQL Orderby
我有一个包含以下数据的表列(Varchar): 列名称C# Linq Orderby vs SQL Orderby,c#,asp.net,oracle,linq,C#,Asp.net,Oracle,Linq,我有一个包含以下数据的表列(Varchar): 列名称 102100 1-2000 112100 在SQL语句中使用OrderBy时,将按以下顺序获取项目: 列名称 1-2000 102100 112100 如果我查询数据(数据来自WCF)并使用LINQ OrderBy,我将按以下顺序获取项目: 属性名称 102100 112100 1-2000 数据“1-2000”在SQL和LINQ中的顺序似乎有所不同 我尝试使用StringComparison.Ordinal和StringCompariso
StringComparison.Ordinal
和StringComparison.InvariantCulture
,但它似乎仍然不起作用
请帮忙 由于您的问题被标记为“Oracle”,我猜您是在向Oracle数据库发送SQL语句 Oracle数据库使用的排序在“NLS”设置中定义。此设置的默认值取决于Oracle的安装方式以及主机服务器上的操作系统 更多信息请点击此处: Oracle提供了一份非常详细的白皮书: 摘录: “西班牙传统上将ch、ll和ñ视为各自的字母,分别在c、l和n之后排序。例如,以下西班牙语单词将按所列顺序排序: 卡巴门特,卡巴lla,坎蒂纳,加州ña,克拉玛,库拉多,ch
最近,这种传统的西班牙语排序方法已被现代的西班牙语排序方法所取代,它消除了ch和ll的特殊状态。”您可以将linq排序方法与顺序StringComparer一起使用
list.Sort(StringComparer.Ordinal);
这给了我您预期的结果。您能分享一下您的代码示例吗?StringComparer.Ordinal应该给出您要查找的结果。感谢您提供的大量信息。