我正在尝试将 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;
一切正常,我收到正确数量的填充对象。但是,当我在查询中添加一个 Include 以允许我们从具有定义导航的相关表中提取字段时,只有第一条记录会完全填充到调用应用程序中:
var revQuery = from revs in context.tbl_Document_Revision.Include("tbl_Staff")
where (revs.ID == myIDVar)
select revs;
该数组的大小正确,但第一个元素之后的所有元素都是空白的默认占位符。就像使用 Include 已经恢复到 LazyLoading 一样,我似乎无法将它踢到线上。还有其他人有这个问题吗?