让我们以产品为例。产品可以属于特定的组,因此它具有类型为Group的引用属性。目前编码时每个存储库都有自己的上下文,因此ProductViewModel在构造函数IProductRepository和IGroupRepository中接收,它们具有不同的ObjectContexts。
问题:如果我将Group实体分配给特定产品,那么ProductRepository的Context会将此分配的Group实体视为新实体,因为它没有任何先验知识,并会尝试将其添加到数据库中吗?如果是,如何处理这种情况?
答案 0 :(得分:1)
如果我将Group实体分配给特定产品,则将来自Context ProductRepository将此指定的Group实体视为新实体, 因为它没有任何关于它的先验知识,并将尝试添加 它到数据库?
如果您使用的是没有延迟加载和动态更改跟踪的POCO(=非代理实体),请单击是。如果您使用基于EntityObject
的实体或代理POCO,您将获得例外。
如果是,如何处理这种情况?
通过使用两个存储库之间共享的一个上下文。