Мне известно о нескольких усилиях по динамическому построению запросов Linq, таких как this и this .
Ни один из них не кажется идеальным, так как я хотел бы не помещать выражения в строку и не указывать где, если это не нужно.
Моя главная проблема заключается в том, что запрос оптимизирован для базы данных и по возможности динамически пропускает ненужные предложения.
Есть ли какие-либо новые разработки в EF 4.0 для таких сценариев?
UPDATE
вот одна ссылка, которую я нашел очень полезной:
http://www.albahari.com/nutshell/predicatebuilder.aspx
действительно, динамическое добавление фильтров «И» тривиально, а добавить фильтры «И» можно легко, используя построитель предикатов:
var predicate = PredicateBuilder.False<Product>();
predicate = predicate.Or (p => p.Description.Contains (temp));
и в соответствии с LinqPad sql отправляется в зависимости от того, какие фильтры были применены.