我有一个在事务中执行的读查询,这样我就可以指定隔离级别。一旦查询完成,我应该做什么?
做每一件事的含义是什么?
using (IDbConnection connection = ConnectionFactory.CreateConnection())
{
using (IDbTransaction transaction = connection.BeginTransaction(IsolationLevel.ReadUncommitted))
{
using (IDbCommand command = connection.CreateCommand())
{
command.Transaction = transaction;
command.CommandText = "SELECT * FROM SomeTable";
using (IDataReader reader = command.ExecuteReader())
{
// Read the results
}
}
// To commit, or not to commit?
}
}
编辑: 问题不在于是否应该使用事务或是否有其他设置事务级别的方法。问题是,不修改任何内容的事务提交或回滚是否会产生任何影响。有性能差异吗?它会影响其他连接吗?还有什么不同吗?