我的应用程序中有2个存储库,每个存储库都有自己的datacontext对象。
最终结果是我尝试将从一个存储库检索到的对象附加到从不同存储库检索到的对象,从而导致异常。
答案 0 :(得分:5)
使用构造函数注入将DataContext注入每个存储库:
public class MyRepository : IMyRepository
{
private readonly DataContext dataContext;
public MyRepository(DataContext dataContext)
{
if(dataContext == null)
{
throw new ArgumentNullException("dataContext");
}
this.dataContext = dataContext;
}
// implement MyRepository using this.dataContext;
}
这允许您以任何必要的方式共享或不共享DataContext。