在 .Net 5 中使用依赖注入实现工作单元和存储库模式
介绍
所有软件程序都需要一个统计基础框架,它在其中进行通信 (CRUD) 以保存和获取更好的数据。市场上许多可用的技术和框架都可以顺利有效地访问数据库。对于使用 Microsoft .Net 技术的构建者,Entity Framework 或 Dapper 已获得认可。但是,问题并不总是使用这些框架的方式,而是使用可重用、可维护和可读的框架编写代码的方式。本文将暂时澄清工作配置实例的存档和单元,以处理记录集准入和企业原因交换的所有常规问题。我们同样包含了一些在常规 .Net Core 项目中执行它们的方法的功能实例
目录
- 什么是存储库和工作单元模式
- 先决条件
- 设置项目
- 实现存储库模式
- 通用存储库接口
- 存储库类
- 存储库和 DbContext 注入
- 依赖注入
- 工作界面设计单元
- 工作实施单位
- 模式执行
- 包装 API 控制器
- 项目结构
- 结论
什么是存储库和工作单元模式?
存储库模式旨在在应用程序的数据访问层和业务逻辑层之间创建一个抽象层。它是一种数据访问模式,促使采用更松散耦合的数据访问方法。我们在一个单独的类或一组称为存储库的类中创建数据访问逻辑,负责持久化应用程序的业务模型。
工作单元被称为单个事务,涉及插入/更新/删除等多种操作。简单来说,就是对于特定的用户操作(比如在网站上注册),所有的事务,比如插入/更新/删除等,都是在一个事务中完成的,而不是做多个数据库事务。这意味着,这里的一个工作单元涉及插入/更新/删除操作,所有这些都在一个事务中。
先决条件
设置项目
- 打开 Visual Studio 并选择“创建新项目”,然后单击“下一步”按钮。
- 添加“项目名称”和“解决方案名称”并选择在该位置保存项目的路径,单击“下一步”。
- 现在选择我们安装 SDK 后获得的目标框架“.Net 5.0”,并且还将获得另一个选项来默认使用该复选框选项配置 Open API 支持。
实现存储库模式
现在让我们跳入代码以设置存储库模式来持久化域模型。这里我们需要添加一个新的类库项目 OrderStore.Domain 来添加我们的领域模型和存储库层,如下所示,领域项目代表具有必要业务逻辑的领域层,存储库层代表持久性方面。为了简单起见,域层包含两个聚合(Order 和 Product),每个聚合都有一个实体。解决方案设置如下
Order.cs
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!