小巧玲瓏。 IDbConnection和IDbTransaction

dapper idbconnection

我應該如何在Dapper中使用IDbConnection和IDbTransaction?

目前我只使用IDbConnection 。如下:

using (SqlConnection connection = new SqlConnection(connectionString)) 
{
    connection.Execute(@"insert Roles(Name) values (@name)", new { name = "Role" }); 
}

但有時我需要發送2個命令?我應該使用BeginTransationEndTransaction嗎?

一般承認的答案

是的,如果您需要兩個單獨的命令是原子的並且一起失敗,那麼您應該使用事務。

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 with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因