Как сказать EF, не загружай все свойства! - PullRequest
2 голосов
/ 11 декабря 2010

Существует сущность со многими связями, когда я говорю EF загрузить запрос к сущности, она загружает все свойства (ОК) со связями (я не хочу)!

Это большой штраф на производительность, потому что мне просто нужны некоторые свойства, а не все отношения.

Как сказать EF, который просто загружает свойство сущности и не загружает отношения (EntityCollection<TEnitity>)?

Я хочу загрузить свойства отношений вручную!

Ответы [ 2 ]

3 голосов
/ 11 декабря 2010

Вы уверены, что свойства навигации загружаются с нетерпением?Они не должны быть по умолчанию.Вы используете POCO или Code First?Если да, то вам нужно убедиться, что ваши навигационные свойства помечены как «виртуальные».Виртуальные свойства будут загружаться с отложенной загрузкой.

Чтобы проверить, загружаются ли свойства навигации с отложенной загрузкой или безотлагательной загрузкой, вам понадобится такой инструмент, как SQL Profiler.

1 голос
/ 12 декабря 2010

Джонни правильно;Значение по умолчанию для ObjectContextOptions.LazyLoadingEnabled равно false.Тем не менее, когда я создаю модель из базы данных, значение по умолчанию для модели true.Если вы используете сгенерированные классы EF, попробуйте установить значение false.

alt text

...