ASP.NET Core 本身不内置 ORM,但可集成轻量高性能的 Dapper,适用于手写 SQL、极致性能或复杂查询场景;需安装 Dapper 及对应数据库驱动,配置连接字符串并注册 IDbConnection 工厂服务,再在控制器中注入使用。

ASP.NET Core 本身不内置 ORM,但可以轻松集成轻量级高性能的 Dapper。它不替代 Entity Framework,而是适合需要手写 SQL、追求极致性能或已有复杂查询逻辑的场景。
Dapper 是一个 NuGet 包,本身不依赖特定数据库,需额外安装对应数据库的 ADO.NET 驱动(如 SQL Server 用 Microsoft.Data.SqlClient)。
在 appsettings.json 中添加连接字符串:
"ConnectionStrings": { "DefaultConnection": "Server=.;Database=MyAppDb;Trusted_Connection=true;" }
然后在 Program.cs(.NET 6+)中注册为服务:
builder.Services.AddSingletonstring>(builder.Configuration.GetConnectionString("DefaultConnection"));
避免每次手动 new SqlConnection,建议注册一个工厂服务来创建连接:
builder.Services.AddTransient
这样控制器或仓储中直接注入 IDbConnection,Dapper 就能自动使用它执行查询。
以获取用户列表为例(假设已建好 User 表):
public class UserController : ControllerBase
{
private readonly IDbConnection _conn;
<pre class="brush:php;toolbar:false;">public UserController(IDbConnection conn) => _conn = conn;
[HttpGet]
public async Task<IActionResult> GetUsers()
{
var users = await _conn.QueryAsync<User>("SELECT * FROM Users");
return Ok(users);
}}
注意:
– QueryAsync
– QuerySingleAsync
– ExecuteAsync 用于 INSERT/UPDATE/DELETE;
– 参数化查询防注入:await _conn.QueryAsync
基本上就这些。Dapper 集成 ASP.NET Core 不复杂但容易忽略连接生命周期管理——用 Transient + IDbConnection 工厂是最简洁稳妥的做法。
以上就是ASP.NET Core怎么使用Dapper ASP.NET Core集成Dapper教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号