介绍与安装

一、什么是 Dapper

Dapper 是 .NET 微型ORM(Micro ORM),有着Micro ORM之王称号,性能接近原生 ADO.NET。

ORM:对象关系映射器,实现数据库表 ↔ C#实体对象自动映射。

核心特点:

  1. 不封装 SQL,开发者自行编写 SQL;
  2. 通过扩展方法扩展 IDbConnection(所有数据库连接对象都可直接使用);
  3. 体积轻量、性能极高。

讨论:严格来说它属于微型ORM,区别于 EF Core 这类完整ORM框架,社区一直存在“算不算纯粹ORM”的讨论。

防 SQL 注入:使用参数化查询可避免注入;拼接 SQL 仍有风险。

执行流程三步:创建数据库连接 → 编写 SQL 语句 → 调用 Dapper 扩展方法执行 SQL 并传入参数。

特征

  • 高性能、查询速度快
  • 支持静态实体、动态对象映射
  • 自由控制SQL语句
  • 支持多结果集查询
  • 原生支持存储过程
  • 基于 IDbConnection 接口,兼容各类数据库驱动
  • 支持批量插入(拓展功能,原生简易批量,大批量推荐 Dapper.Plus)

安装

方式1:NuGet包管理器控制台(PMC)
Install-Package Dapper
方式2:.NET CLI(推荐.NET Core/.NET5+)
dotnet add package Dapper
方式3:Visual Studio可视化界面

解决方案资源管理器 → 右键项目 → 管理NuGet程序包,搜索 Dapper 安装。

重要提醒:Dapper本身不包含数据库驱动
使用SQL Server需要额外安装 Microsoft.Data.SqlClient;MySQL需安装 MySqlConnector

例子

using Dapper;
using Microsoft.Data.SqlClient;

// 1. 创建IDbConnection
string connStr = "你的数据库连接字符串";
using var conn = new SqlConnection(connStr);

// 2. 编写SQL
string sql = "SELECT * FROM Article WHERE Id = @Id";

// 3. 执行查询并自动映射实体
var article = conn.QueryFirstOrDefault<Article>(sql, new { Id = 1 });

public class Article
{
    public int Id { get; set; }
    public string Title { get; set; }
}Code language: JavaScript (javascript)

对比

框架类型SQL控制适用场景
DapperMicro ORM手动编写SQL高性能需求、复杂查询、老项目改造
EF CoreFull ORM自动生成SQL,也支持原生SQL快速开发、简单业务,不想手写SQL

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注