使用DDD从零构建一个完整的系统
在.Net中,EF是一个非常强大ORM库,但是对于一些复杂的查询,由于我们不能控制最终SQL的生成,变得难以优化。
这时候我们往往会引入Dapper,但是Dapper采用原生SQL语句的方式,对于CRUD这些简单操作我们一般都会自行封装,不然就会变成很繁琐。
今天给大家推荐一个Dapper的CRUD扩展库,就可以满足我们的需求,减少我们的工作量。
01 项目简介
Dommel是Dapper的简单扩展,基于POCO实现基本的CRUD,提供手动和自动多重映射、查询列表、同步异步方法,同时支持LINQ等功能。
02 使用方法
1、NuGet 安装 Dommel
Install-Package Dommel
2、定义实体
public class Person
{ public int Id { get; set; } public string Name { get; set; } public int Age { get; set; }
}
3、 CRUD操作
// 创建记录
var person = new Person { Name = "John", Age = 30 };
var id = await connection.InsertAsync(person);// 读取记录
var result = await connection.GetAsync<Person>(1);
Console.WriteLine($"Name: {result.Name}, Age: {result.Age}"); // 更新记录
result.Age = 25;
await connection.UpdateAsync(result); // 删除记录
await connection.DeleteAsync(person);
03 项目地址
https://github.com/henkmollema/Dommel
- End -
推荐阅读
一个跨平台执行外部命令的C#开源库
一个基于C#开发的Socket扩展库
推荐一个跨平台支持Word, Excel, CSV, Email等30多种格式的操作库
推荐一个前后端分离.NetCore+Angular快速开发框架
一款WPF开发的B站视频下载开源项目