Много-много запросов в EF возвращает пустые результаты - PullRequest
1 голос
/ 11 марта 2011

Я использую EF 4 с отключенной POCO, отложенной загрузкой и созданием прокси (из-за требований сериализации).У меня есть две таблицы, которые имеют отношение многие ко многим, используя третью таблицу перекрестных ссылок.В EF сущность перекрестной ссылки не существует, и у меня есть одно-ко многим навигационным свойствам по обе стороны отношений сущности (как и ожидалось).

Однако, когда я использую свойство навигации одного из сущностейчто я подтвердил через запросы SQL Manager наличие данных, я получил пустой набор результатов.

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

Спасибо!

Ответы [ 2 ]

1 голос
/ 11 марта 2011

Вам необходимо использовать LoadProperty или Включить метод.

           Order order = EFContext.Orders.Include("Lines")
                         .Where(m => m.OrderID == orderId).First();

Больше от [MSDN] "Поскольку объекты POCO не имеют тех же требований к отношениям, что и объекты, наследуемые от EntityObject, для загрузки связанных объектов требуется немного другой процесс"

1 голос
/ 11 марта 2011

Вы не можете отключить создание прокси, а также использовать отложенную загрузку.(См. Отложенная (отложенная) загрузка, поддерживаемая с помощью POCO? @ http://blogs.msdn.com/b/adonet/archive/2009/05/21/poco-in-the-entity-framework-part-1-the-experience.aspx).

Прокси-серверы - это то, что заставляет работать отложенную загрузку. Эта ссылка (выше) также демонстрирует, как активно загружать связанные типы, которые вы 'захочется, если вы отключите создание прокси.

...