为什么要用仓储(Respository)和工作单元?

仓储(Respository)是存在于工作单元和数据库之间单独分离出来的一层,是对数据访问的封装。其优点:

    1)业务层不需要知道它的具体实现,达到了分离关注点。

    2)提高了对数据库访问的维护,对于仓储的改变并不会改变业务的逻辑,数据库可以用Sql Server(该系列博客使用)、MySql等。

工作单元模式 ( Unit Of Work)是“维护一个被业务事务影响的对象列表,协调变化的写入和并发问题的解决”

比如:新入校一个同学,需要在班级,学校,学生,课程等多个表里同时操作。这些表要么都完成,要么都不完成。具有一致性。

在仓储模式中使用工作单元模式是为了当你操作多个仓储时,共用一个数据上下文(DbContext)使得这些仓储具有一致性。

在Entity Framework中可以把DbContext当作是一个工作单元。在同一个DbContext对多个仓储操作。所以工作单元模式并不是一定要自己实现,通过Entity Framework也可以实现。

上面的仓储模式其实通过对DbContext的使用了也实现了工作单元模式。

这里  源码下载(加微信号hwf10214)

c#   分享一个实战多子系统统一权限管理 完整实例,可以做二次开发,用到仓储 工作单元、Dapper、Automapper、WCF、  T4模板、Redis 等技术

 

posted @ 2018-11-08 10:02  wenphone  阅读(1674)  评论(0编辑  收藏  举报