Ленивая загрузка подкласса из POCO в Entity Framework 4.0 - PullRequest
2 голосов
/ 27 октября 2010

Мне было интересно, пытался ли кто-нибудь лениво загрузить подкласс (где неизвестно, что это за подкласс, пока не будет возвращен результат) с использованием EF и POCO?

Это немного кошмар в NHibernate, но работает до тех пор, пока вы не попытаетесь привести возвращенный результат к подклассу (поскольку создается прокси-сервер базового класса, его нельзя преобразовать).

Ответы [ 2 ]

1 голос
/ 27 октября 2010

Если вы говорите о приведении свойства к определенному производному типу или конкретной реализации интерфейса, то нет, это не может быть сделано, и IMHO это не должно быть сделано.Если предполагается, что свойство возвращает реализацию определенного интерфейса, вам следует взаимодействовать с ним через этот интерфейс.Как правило, приведение является признаком того, что вы что-то делаете не так.

В противном случае свойства без проблем загружаются при доступе (если они настроены на отложенную загрузку).

1 голос
/ 27 октября 2010

Возможно, вы захотите расширить «где неизвестно, что это за подкласс, пока результат не будет возвращен», но ...

Я использовал Lazy Loading в EF 4 с POCO ивсе работает гладко, как масло.Все заполняется, когда мне это нужно, без кода от меня.

...