我需要做这样的事情
select * from myTable with (xlock,holdlock)
使用实体框架。 这可能吗? 我已经开了TransactionScope
与Serializable
隔离级别,但我的选择没有锁定表。 我希望他们锁定,直到我完成交易范围。
我需要做这样的事情
select * from myTable with (xlock,holdlock)
使用实体框架。 这可能吗? 我已经开了TransactionScope
与Serializable
隔离级别,但我的选择没有锁定表。 我希望他们锁定,直到我完成交易范围。
这是可能的,但你必须发出使用LINQ(据我所知),当你不能添加锁定提示的SQL:
ObjectContext.ExecuteStoreCommand(
string.Format("select 1 from [{0}] with (tablockx, holdlock) where 0 = 1",
tableName));
如果你这样做,在一个事务范围内,然后,直到你完成交易,你会持有锁。
更比特的信息可以在这里找到:
http://peplowdown.wordpress.com/2010/07/18/locking-across-servers-table-locks-with-entity-framework/