【问题标题】:Persisting Entity in EntityFramework 4.3.1 doesn't return navigation propertiesEntityFramework 4.3.1 中的持久实体不返回导航属性
【发布时间】:2012-04-26 21:20:12
【问题描述】:

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

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

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

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

所有这些都可以正常工作。

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

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

【问题讨论】:

    标签: entity-framework-4 savechanges navigation-properties


    【解决方案1】:

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

    【讨论】:

    • 这就是我要说的!非常感谢,这正是我的问题 =)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多