Entity Framework Auto Eager Load - PullRequest
       7

Entity Framework Auto Eager Load

8 голосов
/ 15 февраля 2011

Есть ли способ заставить объекты сущностей автоматически извлекать все релевантные данные через взаимосвязи вместо необходимости включать все, что я хочу заполнить? Я не могу использовать отложенную загрузку, так как это должно быть сериализовано, чтобы перейти на WCF. Было бы просто замечательно, если бы он автоматически заполнял соответствующие коллекции.

1 Ответ

9 голосов
/ 15 февраля 2011

Нет встроенной функции, которая автоматически загрузит весь объектный граф. Вы должны всегда явно указывать, какие свойства навигации вы хотите загружать (используя метод Include или LoadProperty).

Edit:

Исходя из вашего комментария: Обычно должно быть возможно создать какой-нибудь автозагрузчик, но это будет нелегко. ObjectContext имеет свойство MetadataWorkspace, которое содержит все метаданные о ваших сущностях. Вы можете загрузить всю информацию о ваших сущностях из метаданных и добавить необходимые включения в запрос. Я ожидаю одну проблему - вы должны как-то обрабатывать циклические ссылки. Если вам нужен пример того, как извлечь информацию об объектах, проверьте шаблон генерации P4O T4.

...