【发布时间】:2016-03-01 13:25:21
【问题描述】:
我正在使用实体框架。我已使用以下方法将代表数据库中实体的 POCO 对象附加到我的 dbcontext:
var entity = new MyEntity() { ID = 1, AnotherItemID = 10 };
context.Set<T>().Attach(entity);
到目前为止一切顺利。我可以访问该集合并使用我添加的实体。它以未更改状态添加。但是,它只是 POCO 而不是代理。因此,当我尝试访问导航属性时,例如myEntity.AnotherItem,我只是得到一个空返回。
有谁知道是否有办法让 EF 解析以这种方式附加的 POCO 类的导航属性?或者将 POCO 转换为代理类的方法?
谢谢
更新 有两种方法可以解决这个问题(当然也可能有其他方法!)。一个是下面答案中的显式加载选项。另一种允许延迟加载工作的方法是在创建要附加的实体时使用 DBSet Create 方法而不是 POCO new 关键字。更多信息请点击此处:
EF4.3 Code-First, MVC, Lazy Loading After Attaching in POST Action
【问题讨论】:
标签: c# entity-framework