У меня есть существующий веб-сайт, разработанный с использованием ASP.NET MVC 3 и Entity Framework 4, запрашивающий базу данных Sql Server 2008.Он содержит форму поиска с примерно 10 полями, и когда пользователь нажимает кнопку отправки, я динамически создаю запрос Entity SQL, содержащий только указанные поля поиска, пропуская пустые.Оно работает.Пока все хорошо.
Теперь клиенту требуется поведение полнотекстового поиска для одного из полей.Я считаю этот запрос довольно сложным, потому что (AFAIK):
- Entity Framework изначально не поддерживает полнотекстовый поиск
- Я хочу избегать хранимых процедур для переноса синтаксиса FTS, потому что такДо сих пор я использовал только «статические» SP, сохраняя логику в коде .NET.Поэтому я хочу попытаться избежать построения запроса внутри процедуры.И создание одной процедуры для каждой возможной комбинации полей поиска не вариант.
Решения, о которых я мог подумать:
- Размещение хранимой процедуры или пользовательской функции какпоиск предиката в предложении WHERE (хотя я не уверен, что это возможно)
- Получение результатов FTS отдельно во временной таблице и выполнение других фильтров для этой временной таблицы.Я боюсь плохой работы, если есть много результатов FTS с этой техникой ...
Как лучше всего справиться с этим?