我是使用MVC实现存储库模式我使用EF作为我的DAL。每个db表在我的EF上下文中都有一个关联的类,我正在我的工作单元(UoW)中使用自己的存储库实现每个表。
假设我的DB / EF有表A,B,C,D,E,我正在测试FooController,它需要A,B,C和BarController,需要C,D,E。
我应该创建两个UoW(fooUoW,barUoW)还是只创建一个UoW?我没有看到创建多个UoW的任何优势,但名称“工作单元”意味着我应该只包括控制器完成其工作所需的内容,不多也不少。
答案 0 :(得分:0)
关于工作单元的一件事是,您需要确保对于每个请求,您只有一个dbcontext用于所有相关的查询。因此,您需要非常小心如何管理dbcontexts,或者需要创建一个单独的工作单元来处理单个Web请求的所有工作。绝对不建议为模型中的每个实体创建UOW类。