Kam*_*ran 6 asp.net-mvc repository-design unit-of-work repository-pattern dbcontext
我正在尝试在我的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();
}
}
Run Code Online (Sandbox Code Playgroud)
然后我会调用UnitOfWork实例来执行数据操作.
非常感谢提前:-)
我取决于你想要完成什么。
如果您想在实体框架和业务逻辑之间创建一个抽象层,那么是的,这是一个好主意。但随后您必须进行完整的抽象,这意味着您的存储库类无法公开IQueryable<T>。
如果您不创建完整的抽象,那么我认为没有任何理由将 DbContext 包装在工作单元类中。
| 归档时间: |
|
| 查看次数: |
934 次 |
| 最近记录: |