Я пробую EF4 как часть службы .Net 4.0 WCF. Цель службы - вернуть данные документа в виде массива объектов сущностей в любое из наших приложений ASP.Net. Приложения все еще находятся в .Net 2.0. Из-за характера решения я отключил LazyLoading на уровне контекста. Я начал с этого:
var revQuery = from revs in context.tbl_Document_Revision
where (revs.ID == myIDVar)
select revs;
Все работает нормально, я получаю правильное количество заполненных объектов. Однако, когда я добавляю в свой запрос Включить, чтобы мы могли выбрать поля из связанной таблицы, для которой задана навигация, возвращается только первая запись, полностью заполненная вызывающим приложением:
var revQuery = from revs in context.tbl_Document_Revision.Include("tbl_Staff")
where (revs.ID == myIDVar)
select revs;
Массив имеет правильный размер, но все элементы после первого являются пустыми заполнителями по умолчанию. Это похоже на использование Include, которое вернулось в LazyLoading, и я не могу его поставить в линию. У кого-нибудь еще была эта проблема?