У меня проблема со следующим запросом Linq с использованием Entity Framework:
from o in ctx.Entity
where o.EntityID = entityid
select o;
Достаточно просто, правда? Ну, набор Entity является родительским классом для множества других классов. Сгенерированный SQL для этого простого запроса содержит около 20К символов с множеством «case» и «union». Помимо того, что фреймворк требует времени для компиляции запроса, требуется время и для его выполнения.
Итак, как я могу улучшить SQL, сгенерированный фреймворком, в случае запросов с использованием классов с наследием? Или какой еще метод я могу использовать, чтобы избежать этой проблемы?
ОБЪЯВЛЕНИЕ





Причина, по которой он это делает, заключается в отношениях Entity с другими таблицами в вашей базе данных. Чтобы сократить это, вам нужно прочитать, как лучше контролировать явную / ленивую загрузку ссылок, которую EF делает для вас.
Ни один такой пост не будет полным без плагина для nhibernate, который является более мощным / надежным / производительным / и более простым в использовании ;-), но, надеюсь, эта ссылка вам поможет.
Снова это не слово "исполнитель" ... Все остальное здесь правильно, хотя так +1.