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)
在 SQL 查询(我记得是 Sql Server 2000+)中,您可以通过执行类似 select MyString, MyId from MyTable 之类的操作来实现此目的,其中 MyString collate Latin1_General_CI_AI ='aaaa'。
我不确定这在 Linq 中是否可行,但对 Linq 更熟悉的人可能可以翻译。
如果您可以接受排序,并且 select/where 查询始终忽略重音,则可以更改表以在您关注的字段上指定相同的排序规则。
归档时间: |
|
查看次数: |
11001 次 |
最近记录: |