Dapper.Lite 扩展

这篇具有很好参考价值的文章主要介绍了Dapper.Lite 扩展。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近重构并精简了Dapper.Lite,以及不依赖Dapper的版本LiteSql。这两款ORM基本完工,自荐一下。

Dapper.Lite是一款Dapper扩展,单表查询和SQL拼接查询条件支持Lambda表达式,旨在为大家提供一款简单易用、稳定可靠的ORM,支持Oracle、MSSQL、MySQL、PostgreSQL、SQLite、Access、ClickHouse等数据库。

它的特色有:

  1. 单表查询支持Lambda
List<SysUser> list = session.Queryable<SysUser>().Where(t => t.Id <= 20 && t.Remark.Contains("测试")).ToList();

单表查询不需要写SQL了。
这次重构,连表查询、子查询等复杂功能都删除了,减少出bug的可能。

  1. 以SQL为主,无论何种数据库,都是下面的写法,这是最常用的用法
    有的数据库前缀是@符,有的是:符,但ClickHouse数据库不一样,写起来麻烦一点,这里统一了。
    session的意思是一次数据库会话,主要是为了数据库事务,如果没有事务,可以直接db.Sql
List<SysUser> list = session.Sql("select * from sys_user where id <= @Id and remark like @Remark", 20, "%测试%").ToList<SysUser>(); //参数按顺序来,一两个也不容易眼花

List<SysUser> list = session.Sql("select * from sys_user where id <= @Id and remark like @Remark", new { Id = 20, Remark = "%测试%" }).ToList<SysUser>(); //参数多的话就这么写吧

接着拼接:

.Append("and name like @Name", "%测试%"); 
  1. SQL拼接查询条件支持Lambda表达式
List<KpTask> kpTaskList = await session
    .Sql<KpTask>(@"
      select t.*, m.model_start as ModelStart, m.model_end as ModelEnd
      from kp_task t
      left join kp_model m on m.model_id=t.model_id")
    .Where(t => t.IsDel == 0)
    .Where(t => new int?[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }.Contains(t.OpeType))
    .Where<KpModel>(m => m.ModelStart <= DateTime.Now && DateTime.Now <= m.ModelEnd)
    .ToListAsync();

既然写SQL了,肯定是有缺点的,例如,表名改了,SQL也要改。
Where条件写Lambda比写SQL方便一点。

如果你打算用Dapper,并想找一款扩展,不妨试试Dapper.Lite,即使有bug,Dapper.Lite的源码是你能hold住的。

源码地址

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

https://github.com/0611163/Dapper.Lite文章来源地址https://www.toymoban.com/news/detail-741634.html

到了这里,关于Dapper.Lite 扩展的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#调用Dapper

    Dapper是一种微型ORM(对象关系映射器)工具,可以帮助.NET开发人员轻松地处理数据库操作。它适用于许多数据库提供程序,包括SQL Server、MySQL、Oracle和PostgreSQL等。以下是Dapper的使用介绍: 安装Dapper NuGet包:在Visual Studio解决方案中,右键单击项目名称,选择“管理NuGet程序包

    2024年02月09日
    浏览(27)
  • Dapper入门教程

    Dapper是一个简单的.NET对象映射器,在速度方面具有\\\"King of Micro ORM\\\"的头衔,几乎与使用原始的ADO.NET数据读取器一样快。ORM是一个对象关系映射器,它负责数据库和编程语言之间的映射。 Dapper通过扩展IDbConnection提供一些有用的扩展方法去查询您的数据库。 它可以分为三个步骤

    2024年02月08日
    浏览(31)
  • Dapper-OracleSQLHelper 通用封装

    /// summary     /// Oracle Help 封装使用     /// /summary     /// typeparam name=\\\"T\\\"/typeparam     public class OracleSQLDapperHelperT where T : class     {         /// summary         /// 数据库连接字符串         /// /summary       /*  private static readonly string connectionString =         ConfigurationManager.Co

    2024年01月18日
    浏览(35)
  • 以SQLserver为例的Dapper详细讲解

    Dapper是一种轻量级的ORM(对象关系映射)工具,它提供了高效且易于使用的方式来执行数据库操作。 Dapper是由Stack Overflow团队开发并维护的,它的主要目标是提供比EF更快、更直接的方式访问数据库。 Dapper的主要特点包括: 基于纯ADO.NET而不是EF,因此性能更高 支持多种数据

    2023年04月24日
    浏览(36)
  • .NET Dapper mysql 批量新增修改

       

    2024年02月11日
    浏览(29)
  • C#实战:Dapper操作PostgreSQL笔记

    目录 一、PostgreSQL简介 二、PostgreSQL组成 三、PostgreSQL的主要优点 四、PostgreSQL的使用场景 五、示例 1、安装dapper,目前本案例安装的版本是1.50.2 2、安装PostgreSQL驱动 3、数据库链接示例 4、通过SQL查询数据列表写法 5、插入示例写法 PostgreSQL,是一款开源的物理数据库管理系统(

    2024年02月08日
    浏览(30)
  • Dapper使用自定义表类型的参数

    Dapper1.26及以上版本可以使用自定义类型的表值参数,方便将DataTable类型直接作为一个参数传递到数据库服务器上。 首先在数据库中创建用户自定义,例如: 然后在代码中调用,传统的方式是设置Command的Parameter,设置相应的参数类型: 使用Dapper可以有两种方式传递参数,第

    2024年02月16日
    浏览(26)
  • C# Dapper 操作Oracle数据库

    nuget安装内容   1.配置连接字符串 OracleConnectionString这个可用  2.读取配置文件类 3.Dapper数据库操作类  4.操作数据实例 

    2024年02月10日
    浏览(33)
  • Dapper 操作 PostgreSQL 数据库完全指南

    Dapper 是一个高性能的 ORM 框架,可用于简化与数据库的交互。本文将详细介绍如何使用 Dapper 操作 PostgreSQL 数据库,包括连接配置、CRUD 操作以及示例代码。 首先,确保你的项目中已经添加了 Dapper 和 Npgsql 包。你可以使用以下命令进行安装: 在 appsettings.json 中添加 PostgreSQL

    2024年02月11日
    浏览(52)
  • 【C#/.NET】Dapper使用QueryMultipleAsync执行多条SQL

    ​  目录   背景 解决方案 总结           对于查询数据列表的功能,需要分页已经查询总数。这里涉及两句SQL,一个是查询分页对应的数据,第二个是Count(*); 会导致部分重复代码和两次的数据库查询。           Dapper有封装QueryMultipleAsync的异步方法支持执行多条SQL

    2024年02月08日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包