【问题标题】:Locking a table with a select in Entity Framework在实体框架中使用选择锁定表
【发布时间】:2010-12-10 04:38:26
【问题描述】:

我需要做这样的事情

select * from myTable with (xlock,holdlock)

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

【问题讨论】:

    标签: entity-framework transactionscope table-locking


    【解决方案1】:

    这是可能的,但您必须发出 SQL,您在使用 LINQ 时无法添加锁定提示(据我所知):

    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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多