VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > C#教程 >
  • Dapper.Lite 为了更方便地拼接SQL,为了更好地使用Dapper,支持原生SQL和Lambda表达式

提供的功能

  1. 数据插入、更新、批量插入、批量更新,支持实体类、实体类集合,不用拼SQL。
  2. 数据库字段名和实体类属性名不一致的映射。
  3. 分页查询。
  4. 使用Lambda表达式查询。
  5. 统一不同数据库的参数化查询SQL。
  6. 数据库连接池。
  7. 拼接子查询。
  8. Lambda表达式和SQL混写
  9. 手动分库分表。

支持的数据库

  1. Oracle、MSSQL、MySQL、PostgreSQL、SQLite、Access
  2. 任意ADO.NET支持的数据库(自己实现IProvider接口)

使用示例

创建实例

// 线程安全的单例
IDapperLiteClient db = new DapperLiteClient("server=localhost;database=litesql_test;user id=root;password=123456;character set=utf8mb4;", new MySQLProvider());

SQL查询

IDbSession session = db.GetSession();
ISqlString sql = session.Sql("select * from sys_user where id <= @Id and remark like @Remark", 20, "%测试%");
List<SysUser> list = sql.QueryList<SysUser>();

Lambda查询

IDbSession session = db.GetSession();
List<SysUser> list = session.Queryable<SysUser>().Where(t => t.Id <= 20 && t.Remark.Contains("测试")).ToList();

SQL和Lambda表达式混写

IDbSession session = db.GetSession();
List<BsOrder> list = session.Sql<BsOrder>(@"
    select t.*, u.user_name as OrderUserName 
    from bs_order t
    left join sys_user u on u.id = t.order_userid")
    .Where(t => t.Amount > 100 && t.OrderTime > new DateTime(2022, 1, 1))
    .Where<SysUser>(u => u.RealName == "张三")
    .ToList();
C# 复制 全屏

更多示例

README.md (gitee)

wiki (gitee)

README.md (github)

wiki (github)

NuGet地址

Dapper.Lite

如有问题加QQ群:497956447。

源码地址

https://gitee.com/s0611163/Dapper.Lite

https://github.com/0611163/Dapper.Lite

配套实体类生成器地址

https://gitee.com/s0611163/ModelGenerator

https://github.com/0611163/ModelGenerator

ClickHouse测试

https://gitee.com/s0611163/ClickHouseTest


出处:
https://www.cnblogs.com/s0611163/p/16641136.html


相关教程