锁定一个表与实体框架选择(Locking a table with a select in Enti

2019-09-01 07:10发布

我需要做这样的事情

select * from myTable with (xlock,holdlock)

使用实体框架。 这可能吗? 我已经开了TransactionScopeSerializable隔离级别,但我的选择没有锁定表。 我希望他们锁定,直到我完成交易范围。

Answer 1:

这是可能的,但你必须发出使用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/



文章来源: Locking a table with a select in Entity Framework