C#开源、简单易用的Dapper扩展类库 - Dommel
项目特性
-
Dommel 使用 IDbConnection 接口上的扩展方法为 CRUD 操作提供了便捷的 API。
-
Dommel 能够根据你的 POCO 实体自动生成相应的 SQL 查询语句。这大大减少了手动编写 SQL 代码的工作量,并提高了代码的可读性和可维护性。
-
Dommel 支持 LINQ 表达式,这些表达式会被翻译成 SQL 表达式并执行。这使得开发者能够使用更高级、更灵活的查询语法。
-
Dommel 使用 Dapper 作为底层库来执行查询和对象映射。
Dapper
Dapper是一个简单的.NET对象映射器,在速度方面具有"King of Micro ORM"的头衔,几乎与使用原始的ADO.NET数据读取器一样快。ORM是一个对象关系映射器,它负责数据库和编程语言之间的映射。Dapper通过扩展IDbConnection提供一些有用的扩展方法去查询您的数据库。
-
GitHub地址:https://github.com/DapperLib/Dapper
项目源代码
项目使用
以下是Dommel的简单的CRUD操作,更多实用且复杂操作可以前往项目源码地址查看(文末附带项目源码地址)。
安装Dommel包
定义Product实体类
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public int InStock { get; set; }
public DateTime Created { get; set; }
}
数据新增
var product = new Product { Name = "Awesome bike", InStock = 4 };
var id = await connection.InsertAsync(product);
数据删除
var product = await connection.GetAsync<Product>(1);
await connection.DeleteAsync(product);
数据修改
var product = await connection.GetAsync<Product>(1);
product.Name = "New name";
await connection.UpdateAsync(product);
数据查询
var product = await connection.GetAsync<Product>(1);
var products1 = await connection.GetAllAsync<Product>();
var products2 = await connection.SelectAsync<Product>(p => p.Name == "Awesome bike" && p.Created < new DateTime(2014, 12, 31) && p.InStock > 5);
var products3 = await connection.SelectAsync<Product>(p => p.Name.Contains("bike"));
var products4 = await connection.SelectAsync<Product>(p => p.Name.StartsWith("bike"));
var products5 = await connection.SelectAsync<Product>(p => p.Name.EndsWith("bike"));
文章转载自:追逐时光者
原文地址:https://blog.csdn.net/sdgfafg_25/article/details/140636826
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!