答案:在C#中使用Dapper需先安装NuGet包,再通过IDbConnection建立数据库连接,定义与表对应的实体类,利用Query等方法执行SQL查询,支持参数化防止注入,实现高效数据操作。

在C#中使用Dapper进行数据库查询非常简单高效。Dapper是一个轻量级的ORM(对象关系映射)工具,能让你用少量代码快速执行SQL操作,同时保持接近原生ADO.NET的性能。
1. 安装Dapper
Dapper以NuGet包形式提供,需先安装到项目中:
- 通过NuGet包管理器搜索并安装 Dapper
- 或使用包管理器控制台运行命令:Install-Package Dapper
2. 建立数据库连接
Dapper基于IDbConnection接口工作,可以直接使用 SqlConnection、MySqlConnection 等。
示例(SQL Server):
using (var connection = new SqlConnection("Server=.;Database=TestDB;Integrated Security=true;"))
{
connection.Open();
// 执行查询
}3. 定义实体类
创建一个与数据库表字段对应的C#类:
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
}确保属性名与数据库列名匹配(或使用别名)。
4. 使用Query方法执行查询
Dapper扩展了IDbConnection,提供 Query、QueryFirst、QueryFirstOrDefault、Execute 等方法。
基本查询示例:
var users = connection.Query("SELECT * FROM Users"); foreach (var user in users) { Console.WriteLine($"{user.Id}: {user.Name} - {user.Email}"); }
带参数的查询(防止SQL注入):
var user = connection.QueryFirstOrDefault( "SELECT * FROM Users WHERE Id = @Id", new { Id = 1 });
@Id 是参数占位符,new { Id = 1 } 提供参数值。
5. 其他常用查询方式
- QuerySingle:返回恰好一条记录,否则抛异常
- QueryFirstOrDefault:返回第一条或null
- Execute:用于插入、更新、删除操作
例如执行更新:
int rowsAffected = connection.Execute(
"UPDATE Users SET Name = @Name WHERE Id = @Id",
new { Name = "Tom", Id = 1 });基本上就这些。引入Dapper后,只需打开连接,写SQL,调用Query或Execute即可完成操作,无需复杂配置。










