У меня есть запрос LINQ to ENTITY, который извлекается из таблицы, но мне нужно иметь возможность создавать поиск «нечеткого» типа. Поэтому мне нужно добавить предложение where, которое выполняет поиск по фамилии, ЕСЛИ они добавляют критерии в поле поиска (Textbox, МОЖЕТ быть пустым - в этом случае он вытягивает ВСЁ)
Вот что у меня есть:
var query = from mem in context.Member
orderby mem.LastName, mem.FirstName
select new
{
FirstName = mem.FirstName,
LastName = mem.LastName,
};
Это вытянет все из таблицы Member, которая находится в объекте Entity.
Тогда у меня есть дополнение к логике:
sLastName = formCollection["FuzzyLastName"].ToString();
if (!String.IsNullOrEmpty(sLastName))
query = query.Where(ln => ln.LastName.Contains(sLastName));
Проблема в том, что при нажатии кнопки поиска ничего не возвращается (0 результатов). Я запустил запрос к SQL Server, который, как я ожидаю, произойдет здесь, и он возвращает 6 результатов.
Я ожидаю запроса:
SELECT mem.LastName, mem.FirstName FROM Members mem WHERE mem.LastName LIKE '%xxx%'
(когда ххх вводится в текстовое поле)
Кто-нибудь видит что-то не так с этим?
EDIT: исправлен запрос SELECT. Я хотел, чтобы он читал как "% xxx%" (NOT = "xxx")