C# 怎么使用 Dapper 连接数据库_C# Dapper 数据库连接操作教程

幻夢星雲
发布: 2025-11-14 18:28:02
原创
111人浏览过
Dapper是.NET平台下的轻量级ORM工具,性能优于Entity Framework,适合高效执行SQL查询。1. 通过NuGet安装Dapper包;2. 在appsettings.json中配置数据库连接字符串;3. 使用IDbConnection接口进行数据库操作,如Query查询、Execute插入更新删除;4. 遵循参数化查询防注入、using语句管理连接等最佳实践。

c# 怎么使用 dapper 连接数据库_c# dapper 数据库连接操作教程

Dapper 是一个轻量级的 ORM(对象关系映射)工具,适用于 C# 和 .NET 平台。它在性能上优于 Entity Framework 等重量级框架,特别适合需要高效执行 SQL 查询的场景。使用 Dapper 连接数据库非常简单,只需要通过 ADO.NET 提供的 IDbConnection 接口即可实现。

1. 安装 Dapper

在项目中使用 Dapper 前,需先通过 NuGet 安装 Dapper 包:

打开 NuGet 包管理器控制台,运行以下命令:

Install-Package Dapper

安装完成后,就可以在代码中引用 Dapper 命名空间了。

2. 配置数据库连接字符串

在 appsettings.json 或配置文件中添加数据库连接信息。例如,使用 SQL Server 时:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=localhost;Database=TestDB;User Id=sa;Password=your_password;TrustServerCertificate=true;"
  }
}
登录后复制

在程序启动时读取该连接字符串,通常在 Program.csStartup.cs 中处理(根据 .NET 版本不同)。

3. 使用 Dapper 执行数据库操作

下面以 SQL Server 为例,演示如何使用 Dapper 进行常见数据库操作。

示例:查询数据

阿里云-虚拟数字人
阿里云-虚拟数字人

阿里云-虚拟数字人是什么? ...

阿里云-虚拟数字人 2
查看详情 阿里云-虚拟数字人

假设有一个 User 表,对应实体类如下:

public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Email { get; set; }
}
登录后复制

使用 Dapper 查询所有用户:

using (var connection = new SqlConnection(connectionString))
{
    var users = connection.Query<User>("SELECT * FROM Users");
    foreach (var user in users)
    {
        Console.WriteLine($"{user.Id}: {user.Name} - {user.Email}");
    }
}
登录后复制

示例:插入数据

使用参数化 SQL 防止注入攻击:

var sql = "INSERT INTO Users (Name, Email) VALUES (@Name, @Email)";
using (var connection = new SqlConnection(connectionString))
{
    var affectedRows = connection.Execute(sql, new { Name = "张三", Email = "zhangsan@example.com" });
    Console.WriteLine($"插入了 {affectedRows} 条记录");
}
登录后复制

示例:更新数据

var sql = "UPDATE Users SET Email = @Email WHERE Id = @Id";
using (var connection = new SqlConnection(connectionString))
{
    var updated = connection.Execute(sql, new { Id = 1, Email = "newemail@example.com" });
    Console.WriteLine($"更新了 {updated} 条记录");
}
登录后复制

示例:删除数据

var sql = "DELETE FROM Users WHERE Id = @Id";
using (var connection = new SqlConnection(connectionString))
{
    var deleted = connection.Execute(sql, new { Id = 1 });
    Console.WriteLine($"删除了 {deleted} 条记录");
}
登录后复制

4. 注意事项与最佳实践

  • 始终使用 using 语句确保数据库连接正确释放
  • 避免拼接 SQL 字符串,使用 Dapper 的参数化机制防止 SQL 注入
  • Dapper 不支持自动迁移,表结构需手动创建或配合其他工具管理
  • 对于复杂查询,Dapper 支持多结果集映射(QueryMultiple)、事务操作等高级功能

基本上就这些。Dapper 的优势在于简洁和高性能,适合熟悉 SQL 又希望减少 ADO.NET 模板代码的开发者。掌握基本的 Query、Execute 方法后,就能快速完成大多数数据库操作任务。

以上就是C# 怎么使用 Dapper 连接数据库_C# Dapper 数据库连接操作教程的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号