我正在尝试在我的 MVC Web 应用程序中实现工作单元/存储库模式。
由于 DbContext 本身是一个工作单元,因此我想将它与我自己的 UOW 混合用于测试和解耦目的(将业务层与 EF 解耦)。那么将我DbContext
的 UOW 类包装在如下所示的类中是否是个好主意?
例子:
为了清楚起见,代码减少了
public interface IUnitOfWork
{
void Save();
}
public MyContext : DbContext
{
// DbSets here
}
public UnitOfWork : IUnitOfWork
{
public MyContext myContext { get; set; }
void Save()
{
myContext.SaveChanges();
}
}
然后我会调用UnitOfWork
实例来执行数据操作。
提前非常感谢:-)