1

我在 MSSQL 服务器中有字段“名称 nvarchar(10)”的表现在我正在尝试查找一些数据,但我无法进行区分大小写的搜索。IE

 this.SomeTable.SingleOrDefault(u => (u.Name==login));

或者

 this.PortalUsers.SingleOrDefault(u => (u.Name.Equals(login))

返回一个值,但不应该,因为 "aaaa"!="AAAA" 如何在不修改数据库单元排序规则的情况下修复它?

4

1 回答 1

0

不是一个很好的解决方案,但如果您无法更改 MSSQL 服务器,那么您将受到限制。

尝试

 this.PortalUsers.Where(u => u.Name == login).ToList().SingleOrDefault(u => u.Name == login)

这将不分大小写地提取所有匹配的记录,将其转换为内存数组,然后根据区分大小写的匹配项挑选出一个。

不过,我敦促您小心,这不是一个很好的解决方案,它可能会返回大量必须在内存中创建的记录,不会太贵,但需要提防。

于 2012-09-10T12:12:22.387 回答