Я искал много сообщений в переполнении стека, чтобы получить ответ, но пока не ясно.Я просто ищу простой способ построения динамических запросов.Мне удалось выполнить простые запросы, включающие одно выражение в предложении 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>();