【发布时间】:2011-02-24 12:16:30
【问题描述】:
如何根据情况使LINQ区分大小写和不区分大小写?
我使用的是 sql server 2008 和 Entity Framework 4.0。
我更改了 COLLATION 以使 SQL Server 区分大小写。所以对于这样的场景:
query = query.Where(x => x.Username == username);
效果很好。 但是,当按主题(或名称或类似名称)搜索时,我需要能够从 db ignoring case 中提取数据,如下所示:
query = query.Where(x => (x.Name.Contains(Name)));
当记录是“TestString”并且我正在寻找“test”或“Test”或类似时,它不起作用。我将如何使它在文本中找到文本或字符串的一部分时? 谢谢
【问题讨论】:
-
使用 ToUpper/Lower 解决方案或编写类似这样的 SQL 查询:
SELECT * FROM tblUser WHERE tblUser.userName = 'test' COLLATE Finnish_Swedish_CI_AS
标签: sql linq linq-to-entities