0

我正在使用 Visual Studio 2010 中的 EntityFramework 4.3.1。

我有一个名为 container 的根实体对象,它有一个名为containerversions的导航属性。

当需要新的容器版本时,我:

  1. 新建一个containerversion对象
  2. 通过 EF 上下文获取根容器
  3. 将新的 containerversion 添加到 containerversions 列表属性。
  4. 通过 Context.SaveChanges() 保存上下文

所有这些都工作正常。

但是,当我查看容器对象并检查 containerversions 集合属性时,保存后,新的 containerversion 就在那里,但它的导航属性没有填充,它的类型不是 System.Data.Entity.DynamicProxy 而是新的类型我创建的对象在保存之前添加到集合中。

当我保存将导致新插入的 containerversion 导航属性被填充的根实体时,我是否遗漏了什么?

4

1 回答 1

1

如果您只是通过调用创建实体,new ContenerVersion您将永远不会获得该实例的动态代理。要获得动态代理,您必须使用objectContext.CreateObjectdbContext.ContainerVersions.Create

于 2012-04-26T13:20:12.600 回答