【问题标题】:Implementing custom repository in unit of work pattern在工作单元模式中实现自定义存储库
【发布时间】:2014-05-19 20:30:15
【问题描述】:

我阅读了很多关于工作单元模式的实现的信息,例如 http://www.asp.net/mvc/tutorials/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-applicationhttp://gaui.is/how-to-mock-the-datacontext-linq/

他们在工作单元类中保留了一个通用的基础存储库类或接口,效果很好。在实践中,我的存储库需要更多功能,因为通用接口存储库提供。

所以我的目标是在必要时使用自定义存储库。但我不确定如何实现它们。我不想在工作单元类中定义它们,如下所示,

public class UnitOfWork : IDisposable
{
    private SchoolContext context = new SchoolContext();
    private CustomRepository<Department> departmentRepository;
    private GenericRepository<Course> courseRepository;
 [...]

因为我将无法再次使用 UnitOfWork 类。我认为上面的示例代码与 UnitofWork 模式相矛盾。

当我构建类似于http://gaui.is/how-to-mock-the-datacontext-linq/ 的东西时,是否有人知道如何在工作单元模式中以干净的方式实现自定义存储库?

最好的问候

【问题讨论】:

标签: c# asp.net-mvc unit-of-work


【解决方案1】:

一般来说,在工作单元模式中,只有数据库 CRUD 操作在通用存储库中进行接口。最重要的是,引入了服务层来操作 CRUD 操作到业务操作。你能通过在通用存储库中添加更多操作来证明你的决定吗?你应该把它们放在服务层吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 2013-02-05
    相关资源
    最近更新 更多