【问题标题】:Reference entity from different Context来自不同上下文的引用实体
【发布时间】:2012-05-28 10:37:19
【问题描述】:

让我们以产品为例。一个产品可以属于一个特定的组,所以它有一个组类型的引用属性。目前在编码时,每个存储库都有自己的上下文,因此 ProductViewModel 在构造函数 IProductRepository 和 IGroupRepository 中接收,它们具有不同的 ObjectContext。

问题:如果我将 Group 实体分配给特定产品,ProductRepository 中的 Context 是否会将此分配的 Group 实体视为新实体,因为它没有任何先验知识,并会尝试将其添加到数据库中?如果是,如何处理这种情况?

【问题讨论】:

    标签: entity-framework entity-framework-4.1


    【解决方案1】:

    如果我将 Group 实体分配给特定产品,上下文将从 ProductRepository 将此分配的 Group 实体视为新实体, 因为它没有任何关于它的先验知识,所以会尝试添加 它到数据库?

    是的,如果您使用的是没有延迟加载和动态更改跟踪的 POCO(= 非代理实体)。如果您使用基于 EntityObject 的实体或代理 POCO,您将遇到异常。

    如果是,如何处理这种情况?

    通过使用两个存储库之间共享的一个上下文。

    【讨论】:

      猜你喜欢
      • 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
      相关资源
      最近更新 更多