Я просмотрел много сообщений о переполнении стека, чтобы получить ответ, но я еще не понял. Я просто ищу простой способ создания динамических запросов. Мне удалось выполнить простые запросы, включающие одно выражение в предложении where, но я не могу найти простой способ обработки нескольких выражений. У меня есть опыт работы с API критериев NHibernate, который очень удобен для быстрых и безопасных во время компиляции конструкций запросов. Я, хотя что-то подобное будет доступно на EntityFramework, но пока не повезло. Есть ли какой-нибудь простой способ, кроме ручного создания строковых запросов? Взгляните на следующий код, я думал, что он должен работать, но это не так. На самом деле он не строит запрос на основе нескольких лямбда-выражений. Я ожидал, что каждый вызов where добавит одно выражение AND к предложению where. Я что-то упустил?
var query = Entities.Current.Jobs.AsQueryable<Job>();
if (!string.IsNullOrEmpty(keywords))
{
query.Where(j => j.Title.Contains(keywords) || j.Description.Contains(keywords));
}
if (industryId > 0)
{
query.Where(j => j.IndustryId == industryId);
}
if (countyId > 0)
{
query.Where(j => j.CountyId == countyId);
}
return query.ToList<Job>();