Dav*_*art 2 .net c# sql-server ado.net transactions
数据库密集型应用程序中的关键之一是使事务尽可能短.
今天我想知道这笔交易何时会开始:
using (SqlConnection sqlConnection = new SqlConnection(connectionString))
{
sqlConnection.Open();
/*(1)*/ SqlTransaction sqlTransaction = sqlConnection.BeginTransaction(IsolationLevel.ReadUncommitted);
//Perform some stuff
//...
/*(2)*/ using (SqlCommand command = new SqlCommand(sqlQuery, sqlConnection, sqlTransaction))
{
//Some other stuff
//...
try
{
/*(3)*/sqlCommand.ExecuteNonQuery();
//More irrelevant code
//...
sqlCommand.CommandText = otherQuery;
sqlCommand.ExecuteNonQuery();
sqlTransaction.Commit();
}
catch(Exception)
{
sqlTransaction.Rollback();
throw;
}
}
}
Run Code Online (Sandbox Code Playgroud)
在步骤(1),(2)或(3)中?理想情况下,它应该在第3步.
| 归档时间: |
|
| 查看次数: |
714 次 |
| 最近记录: |