Остерегайтесь преждевременной оптимизации!
Пока вы не профилировали свое приложение и не решили, что тратите большую часть своего времени на создание запросов, это не стоит времени разработчика и сокращения простоты, удобства обслуживания игибкость.
Даже если вы тратите много времени на создание запросов, имейте в виду, что предварительная компиляция запросов сократит время их выполнения на относительно небольшую постоянную, а не на порядки величины.Итак, начните с рассмотрения процедурных изменений (таких как упоминания Нарниана) или методов кэширования, чтобы сократить количество раз, когда вам фактически нужно выполнить эти запросы в первую очередь.
Как только вы это сделаете и по-прежнему обнаружите, что при составлении запроса есть узкое место, есть вероятность, что 90% вашего времени тратится примерно на 5% (или меньше) запросов, которые вы выполняете,Оптимизируйте только эти запросы.
Обновление
Современные реализации Entity Framework теперь имеют встроенное кэширование запросов, поэтому, просто используя современную версию .NET, вы, вероятно, получите 90% преимуществпредварительно скомпилированные запросы предложили бы вам в любом случае.Это еще одна причина не беспокоиться об изменении структуры кода для обеспечения теоретического повышения производительности.