我应该如何在Dapper中使用IDbConnection和IDbTransaction?
目前,我只使用IDbConnection。如下所示:
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Execute(@"insert Roles(Name) values (@name)", new { name = "Role" });
}但有时我需要发送两个命令?我应该使用BeginTransation和EndTransaction吗
发布于 2012-03-24 06:55:56
是的,如果你需要两个单独的命令是原子的,并且一起失败,那么你应该使用事务。
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);
}https://stackoverflow.com/questions/9847329
复制相似问题