Здравствуйте, alex_public, Вы писали:
_>Здравствуйте, Serginio1, Вы писали:
S>> Если не нравится голый ADO в руки или предварительная компиляция. Каждый выбирает для себя.
S>>Особенно когда запрос на несколько страниц, дополнительные две строчки никакой роли не играет.
_>Ну вот снова в этой темке получается один и тот же вывод: на C# можно написать удобно и получать тормозной код или неудобно и получать нормальный код. В C++ такой дилеммы в принципе нет — там является нормой одновременно и быстрый и удобный код. У это конечно есть своя цена (требуется определённая квалификация программиста), но компромисс между удобством и быстродействием точно не требуется.
Ну рассмешил!! Давно так не смеялся. И это говорит человек который использует Питон.
Еще раз в EF запросы кэшируются, так же как и на SQL. Если тебе это не нравится, то у тебя есть куча возможностей для оптимизации. Добавив всего одну или две лишние строки. В большинстве задач это и не нужно.
http://www.codehint.ru/articles/2013-02-13_linq_entity_framework_5
В EF5 появились автокомпилированые запросы, однако они работают, не так как CompiledQuery. Вместо написания кода, который компилирует каждый запрос, и затем вызывает его по мере необходимости, Entity Framework кеширует сгенерированный SQL в фоновом процессе. И когда выполняется LINQ, то EF находит в кеше уже скомпилированный запрос SQL и использует его по назначению.
Мало того, можно кэшировать результаты запросов
https://weblogs.asp.net/dotnetstories/using-second-level-cache-in-entity-framework-6-1-applications
https://github.com/loresoft/EntityFramework.Extended/wiki/Query-Result-Cache