Как правильно сопоставить регистр двух строк в Linq и SQL? - PullRequest
1 голос
/ 08 апреля 2010

Как аккуратно приравнять регистр двух строк в Linq к SQL (в запросе where)?

Спасибо.

Ответы [ 3 ]

4 голосов
/ 08 апреля 2010

Вы не можете сделать это исключительно в LINQ to SQL. Из документации:

Неподдерживаемые методы System.String в Общий

Запросы не учитывают SQL Server сопоставления, которые могут быть в силе на сервер, и, следовательно, обеспечит чувствительный к культуре, нечувствительный к регистру сравнения по умолчанию. Это поведение отличается от значения по умолчанию, чувствительная к регистру семантика .NET Framework.

Способ сделать это в вашем собственном запросе, где вы указываете сортировку:

Select...
From Table
Where Column = "Value" COLLATE SQL_Latin1_General_CP1_CS_AS

Обратите внимание, что предоставляемое сопоставление указывает регистрозависимое совпадение (CS).

3 голосов
/ 08 апреля 2010

Вы должны будете сделать это поле чувствительным к регистру в SQL Server (или любой другой СУБД, которую вы используете). Если вы используете SQL Server, найдите свойство поля Collation, в котором вы можете установить чувствительность к регистру.

2 голосов
/ 17 мая 2011

Как аккуратно приравнять регистр двух строк в Linq к SQL (в запросе where)?

Select * from tblemp Where empname='nAveen' COLLATE SQL_Latin1_General_Cp1_CS_AS
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...