0

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

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

4

1 回答 1

1

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

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

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

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

于 2012-05-28T10:58:45.577 回答