Pascualito Ответов: 1

Заставьте EF работать под разными параметрами сортировки


Привет,

Мне нужно запустить несколько исполнений Entity Framework 6 под другим параметром сортировки.

( У меня нет возможности изменить параметры сортировки БД )

Например, если пользователь ищет текст, содержащий слово "Мария" (обратите внимание на ударение), EF должен вернуться

Мария
Мария
Мария
....

Используя EF, вы должны сделать что-то вроде этого:

var persons = context.Set<Person>().Where( p => p.firstName.Contains("maría") );	


В transact sql есть опция
 selec * from Persons where firstName like '%maría%' 
collate Latin1_General_CI_AI; 


Мне нужно сделать что-то подобное, чтобы заставить EF работать под другими параметрами сортировки.

Спасибо всем !!!

Что я уже пробовал:

Я не пробовал еще всякое :-)

1 Ответов

Рейтинг:
0

Dave Kreskowiak

Entity Framework не имеет никаких параметров сортировки. Это полностью зависит от базы данных, выполняющей такую работу.

Вы можете либо выполнить SQL-оператор, который вы пишете, включая предложение COLLATE, используя EF, и EF с радостью гидратирует данные в объекты, либо выполнить миграцию базы данных и изменить параметры сортировки для нужных столбцов.

string query = "SELECT ....";
var result = contextInstance.Database.SqlQuery<targetEntityType>(query);