UnitOfWork for different DbContext
本文关键字:DbContext different for UnitOfWork | 更新日期: 2023-09-27 17:59:50
我有如下
//Following is the Constructor
public UnitOfWork(IEmployeeContext context)
{
this._context = context;
}
#endregion
public void Dispose()
{
this._context.Dispose();
}
public void Commit()
{
this._context.SaveChanges();
}
public IEmployeeRepository EmployeeRepository
{
{
return _employeeRepository??
(_employeeRepository= new EmployeeRepository(_context));
}
}
现在的问题是,我有另一个不是基于IEemployeeContext的存储库。让我们调用该上下文IOfficeContext,这样它就会像一样
get
{
return _officeRepository??
(_officeRepository= new OfficeRepository(_context));
}
传递给OfficeRepository的上下文是IOfficeContext。我应该给他们两个单独的单位吗?或者可以在这里做一些其他聪明的事情?
您可以有一个通用接口:
public interface IContext
{
void Dispose();
void SaveChanges();
}
并且让IEmployeeContext
和IOfficeContext
都从中继承。那么UnitOfWork
只能知道IContext
,并且能够处理这两者。