【发布时间】:2017-02-16 12:14:35
【问题描述】:
在一次调用中将数据插入两个表时,我使用了事务范围。但是事务范围持有数据库或锁定特定范围的数据库,此时另一个用户无法对数据库执行任何操作。所以请告诉我避免这种情况的替代解决方案。
using (TransactionScope scope = new TransactionScope())
{
CamphorTray_OrderDetails ct = new CamphorTray_OrderDetails();
ct.CamphorTray_ID = ctv.CamphorTray_ID;
ct.Temple_ID = ctv.Temple_ID;
ct.For_Date = ctv.For_Date;
ct.Deity = ctv.Deity;
ct.Note_Cash = ctv.Note_Cash;
ct.Coin = ctv.Coin;
ct.Total_amount = ctv.Total_amount;
ct.Created_By = ctv.Created_By;
ct.Created_Date = DateTime.Now;
ct.Modified_By = ctv.Created_By;
ct.Modified_Date = DateTime.Now;
CTOD.Insert(ct);
InsertAudit_CamphorTray_OrderDetails(ct, "Insert");
scope.Complete();
}
【问题讨论】:
-
你默认使用什么隔离级别?这可能是一个原因......
标签: c# linq-to-sql ado.net transactionscope