2010-06-18 2 views
5

Можно ли по умолчанию установить регистр сравнения строк сущности Framework без учета регистра?Сделать Entity Framework нечувствительным к регистру

Если я использую

string.StartsWith("stringToCompare", StringComparison.CurrentCultureIgnoreCase) 

это работает. Но когда мне нужно использовать

string.Contains("strigToCompare") 

у него нет перегрузки.

+1

SQL в любом случае нечувствителен к регистру, а EF делегирует свои запросы только SQL, EF не контролирует регистр, я думаю, что это проблема сортировки вашей базы данных. –

ответ

3

Вы можете просто изменить регистр обоих полей в верхнем регистре:

String stringToCompare = "Some String"; 

string.ToUpper().Contains(stringToCompare.ToUpper()) 

Это позволит сделать поиск без учета регистра, преобразовав все дело в верхней. Конечно, ToLower() тоже будет работать.

+0

Это сломается для теста «Foo» и «Foobar». что foobar содержит foo. Это не может быть то, что вы ищете. – Jafin

+4

Плакат просит нечувствительность к регистру при использовании функции Contains(). Пример «Foo» и «Foobar» вернет «истину», которая является желаемым результатом. –

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

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