来自不同Context的引用实体

时间:2012-05-28 10:37:19

标签: entity-framework entity-framework-4.1

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

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

1 个答案:

答案 0 :(得分:1)

  

如果我将Group实体分配给特定产品,则将来自Context   ProductRepository将此指定的Group实体视为新实体,   因为它没有任何关于它的先验知识,并将尝试添加   它到数据库?

如果您使用的是没有延迟加载和动态更改跟踪的POCO(=非代理实体),请单击是。如果您使用基于EntityObject的实体或代理POCO,您将获得例外。

  

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

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