【发布时间】:2015-11-01 07:55:41
【问题描述】:
我想在我的项目中使用TransactionScope。我阅读了它,发现它在数据库中创建了一个隐式事务。我想知道TransactionScope 是否锁定了它操作的表?
例如在这段代码中:
using (Entities ent = new Entities())
{
using (TransactionScope tran = Common.GetTransactionScope())
{
var oldRecords = ent.tblUser.Where(o => o.UserID == UserID);
foreach (var item in oldRecords)
{
ent.tblUser.DeleteObject(item);
}
和
public static TransactionScope GetTransactionScope()
{
TransactionOptions transactionOptions = new TransactionOptions();
transactionOptions.IsolationLevel = System.Transactions.IsolationLevel.Serializable;
return new TransactionScope(TransactionScopeOption.Required, transactionOptions);
}
tblUser 是否被锁定直到Complete 命令发出?
IsolationLevel 在显式事务中是否类似于隐式事务?
谢谢
【问题讨论】:
标签: sql-server entity-framework c#-4.0 transactions transactionscope