使用LINQ to SQL忽略SQL Server中的重音

Far*_*nha 10 linq sql-server linq-to-sql

如何使用LINQ to SQL忽略对SQL Server数据库的查询中的重音(如',`,〜)?

更新:

仍然没有想出如何在LINQ中做到这一点(或者即使它可能)但我设法改变数据库来解决这个问题.只需要更改我想要搜索的字段的排序规则.我的整理是:

SQL_Latin1_General_CP1_CI_AS
Run Code Online (Sandbox Code Playgroud)

CI表示"Case Insensitive"和AS表示"Accent Sensitive".只需将AS改为AI,使其成为"Accent Insensitive".SQL语句是这样的:

ALTER TABLE table_name ALTER COLUMN column_name column_type COLLATE collation_type
Run Code Online (Sandbox Code Playgroud)

Jas*_*rue 3

在 SQL 查询(我记得是 Sql Server 2000+)中,您可以通过执行类似 select MyString, MyId from MyTable 之类的操作来实现此目的,其中 MyString collat​​e Latin1_General_CI_AI ='aaaa'。

我不确定这在 Linq 中是否可行,但对 Linq 更熟悉的人可能可以翻译。

如果您可以接受排序,并且 select/where 查询始终忽略重音,则可以更改表以在您关注的字段上指定相同的排序规则。