ダッパ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を使うべきですか?

受け入れられた回答

はい、アトミックになり、一緒に失敗するために2つの別々のコマンドが必要な場合は、トランザクションを使用する必要があります。

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
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow