НС>Решается несложным хелпером:
Т.е. всю красоту синтаксиса linq теряем и видим старый неуклюжий Query Object паттерн. Query Object-ов написано куча и на C# и на Java, и все они говно.
НС>Но можно и немножко похитрее, в более общем виде. linq2db.
Т.е. из коробки от Microsoft такого нет. О чем я и говорил, не дизайнился linq для динамических запросов.
Убого это всё выглядит MyMethod, MyMehodExpr, да еще атрибутом надо пометить, фу, простейший Extract Method такой громоздкое убожество вызывает. И это для простоты сопровождения говорите, ну ну. И это вы называли "развитые" средства декомпозиции?
Если сделаю MyMehod и ничего больше писать не буду, то упадет это всё отнюдь не при компиляции, а как раз в рантайме. За что боролись на то и напоролись.
Короче, слишком дорого обходится статическая проверка запросов. Хочется того же, но подешевле.
И еще, из официального показа EF от May 14, 2014:
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2014/DEV-B417#fbid=

Опа, неожиданно sql строка...