2011-02-09 4 views
0

Я использую Ms-Sql DB, и у меня есть поле, которое сохраняется в DB как тип nvarchar. Я использую LINQ к SQL следующим образом:Нежелательное преобразование латинских букв в sql-функциях

var names = NamesTable.where(n=>n.name.Contains("acções")); 

этот запрос возвращает имена, содержащие: acçoes/accoes или любую другую комбинацию. Кажется, что sql не распознает латинские специальные буквы, отличные от английских.

Как я могу решить эту проблему?

ответ

2

В SqlServer вы можете установить "collation" за столбец. Обычно (я думаю) это «чувствительный к акценту», но ваш случай кажется «нечувствительным к акценту». Посмотрите, что он говорит для сортировки, если он заканчивается на «AI», то это действительно Accent Insensitive. Для «Accent Sensitive» вам нужен «AS».

И еще вы можете иметь «CI» (для «Нечувствительный к регистру») или «CS» (для «Чувствительность к регистру»).

 Смежные вопросы

  • Нет связанных вопросов^_^