[英]Dapper. IDbConnection and IDbTransaction
我應該如何在Dapper中使用IDbConnection和IDbTransaction?
目前我只使用IDbConnection
。 如下:
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Execute(@"insert Roles(Name) values (@name)", new { name = "Role" });
}
但有時我需要發送2個命令? 我應該使用BeginTransation
和EndTransaction
嗎?
是的,如果您需要兩個單獨的命令是原子的並且一起失敗,那么您應該使用事務。
using (new TransactionScope(TransactionScopeOption.Required))
{
connection.Execute(...);
connection.Execute(...);
}
或者,如果您想使用BeginTransaction
並將其傳入,您還可以:
using (var transaction = connection.BeginTransaction())
{
connection.Execute(sql1, params1, transaction);
connection.Execute(sql2, params2, transaction);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.