Dapper 删除数据本质是执行参数化 DELETE SQL 语句,无内置删除方法;需注意事务、软删、批量和级联等场景,推荐按主键/条件单删、事务多表删、UPDATE 软删、IN 或表值参数批量删。

Dapper 删除数据本质就是执行一条 DELETE SQL 语句,它不自带“删除方法”,而是通过 Execute(或 ExecuteAsync)直接运行参数化 SQL。操作简单、高效,但需注意事务、软删、批量和级联等实际场景。
基础单条删除
最常用的方式:按主键或条件删除一条记录,使用参数化防止 SQL 注入。
- SQL Server 示例:
using (var conn = new SqlConnection(connStr))
{
int rows = conn.Execute("DELETE FROM Products WHERE Id = @Id", new { Id = 123 });
Console.WriteLine($"影响 {rows} 行");
}
- MySQL 示例(注意参数占位符用
@或?,取决于驱动):
using (var conn = new MySqlConnection(connStr))
{
int rows = conn.Execute("DELETE FROM users WHERE id = @id", new { id = 456 });
}
✅ 提示:Dapper 会自动打开连接(如果关闭),无需手动调用 Open();执行完自动释放资源。
带事务的多表删除
当要同时删主表和从表(如删除订单同时删订单项),必须用事务保证原子性。
还木有评论哦,快来抢沙发吧~