Я динамически создаю запрос LINQ на основе различных критериев поиска.
В качестве примера предположим, что я ищу таблицу «Автомобили», и у меня есть возможность фильтровать по рейтингу. У меня есть два элемента управления:
- Тип сравнения: [Минимум], [Максимум], [Меньше], [Больше] и [Равно].
- Значение: значение для сравнения рейтинга.
Таким образом, пользователь может, например, выбрать тип сравнения [По крайней мере] и значение 3, и мой код должен создать запрос, который ограничивает результаты оценками автомобилей, большими или равными 3.
Я нашел отличное решение от VinayC в вопросе Как для реализации функции поиска в C#/ASP.NET MVC. Его метод DynamicWhere()
динамически создает часть выражения, которое создаст правильный фильтр.
Моя проблема в том, что мой основной тип запроса — «Автомобиль», но мои рейтинги находятся в отдельной таблице (Automobile.Ratings). Как я могу реализовать этот же метод и фильтровать тип, отличный от моего основного типа запроса?
Спасибо за любые советы.
Where
. - person evanmcdonnal   schedule 19.04.2014DynamicWhere()
. - person Jonathan Wood   schedule 19.04.2014if
). Их может быть 1000, и с ними все равно будет довольно легко работать. - person evanmcdonnal   schedule 19.04.2014