我正在使用Repository模式,因此每个域模型都有一个通用存储库和两个其他存储库。
我有两个控制器; productController
和categoryController
。
实际上,在categoryController
我在productController
中创建了类别,我将每个类别分配到所需的产品。因此,我必须在productController
中使用这两个存储库。
我的问题是我有两个ObjectContext对象。当我想用新类别更新我的产品时,我收到此错误:
无法定义两个对象之间的关系,因为 它们附加到不同的ObjectContext对象。
我该如何解决这个问题?
如何增强代码以防止出现此问题?
答案 0 :(得分:2)
您应该将ObjectContext注入到存储库实例中,这样您就可以将同一个实例注入到两个存储库中并避免错误。
如果您使用的是IoC容器,则应该允许您指定它创建的实例的范围。如果您使用的是Autofac,则需要使用InstancePerRequest