Dapper in .Net Core
目录
- 一、前言
- 二、Dapper环境搭建
- 三、Dapper封装
- 定义DapperDBContext类
- 异步分页构建(PageAsync)
- 定义工作单元与事务
- 定义数据仓储
- 数据库连接
- 四、Dapper使用
回到顶部详细入口),在此不做赘述;本文仅对Dapper在.Net Core中的使用作扼要说明,所陈代码以示例讲解为主,乃抛砖引玉,开发者可根据自身需要进行扩展和调整;其中如有疏漏之处,望不吝斧正。 回到顶部回到顶部https://github.com/EloreTec/UnitOfWorkWithDapper),作修改调整封装如下: 回到顶部
四、Dapper使用
Startup.cs注入并读取数据库连接字符串
{ "SQLConnString": "Data Source=(local);Initial Catalog=database;Persist Security Info=True;User ID=sa;Password=123456;MultipleActiveResultSets=True;", "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "AllowedHosts": "*" }
services.AddDapperDBContext(options => { options.Configuration = Configuration["SQLConnString"]; });
简单示例WebAPI或Net Core MVC下的调用示例:
public partial interface IProductService { Task<bool> AddProduct(Product productInfo, ListskuList); } public class ProductService: IProductService { private readonly DapperDBContext _context; private readonly IUnitOfWorkFactory _uowFactory; public ProductService(DapperDBContext context, IUnitOfWorkFactory uowFactory) { _context = context; _uowFactory = uowFactory; } /// /// 添加商品 /// /// /// /// public async Task<bool> AddProduct(Product productInfo, List skuList) { var result = false; using (var uow = _uowFactory.Create()) { //添加产品 await _context.InsertAsync(productInfo); //添加Sku库存售价 //await _context.InsertAsync(skuList); uow.SaveChanges(); result = true; } return result; } }
public partial interface IProductService { Task<bool> AddProduct(Product productInfo, List作者:白云任去留skuList); } public class ProductService: IProductService { private readonly DapperDBContext _context; private readonly IUnitOfWorkFactory _uowFactory; public ProductService(DapperDBContext context, IUnitOfWorkFactory uowFactory) { _context = context; _uowFactory = uowFactory; } /// /// 添加商品 /// /// /// /// public async Task<bool> AddProduct(Product productInfo, List skuList) { var result = false; using (var uow = _uowFactory.Create()) { //添加产品 await _context.InsertAsync(productInfo); //添加Sku库存售价 //await _context.InsertAsync(skuList); uow.SaveChanges(); result = true; } return result; } }
如果你觉得这篇文章对你有所帮助或启发,请点击右侧【推荐】,谢谢。