1. C# 中操作数据库,使用事务时,由于并发引起的混乱[异常]
使用数据库事务的时候出现了问题
主要是因为在大并发的情况下,SqlTransaction和SqlConnection对象关联混乱。
早前的代码如下:
1
2
3
4
|
Transaction tran = DBUtility.BeginTransaction()
new
DAL1.Save(...);
new
DAL2.Save(...);
tran.Commit();
// tran.Rollback();
|
1
2
3
4
5
6
7
|
using
(SqlConnection conn =
new
SqlConnection(DBUtility.ConnectionString)) {
conn.open();
SqlTransaction tran = conn.BeginTransaction();
new
DAL1.Save(tran, ...);
new
DAL2.Save(tran, ...);
tran.Commit();
// tran.Rollback();
}
|