Chr*_*ian 6 sql entity-framework locking
我有一个SQL数据库,其中包含一个我想要锁定的表.我正在使用实体框架.基本上,每个进程都需要同时写入数据库.他们每个人都想更新某个表中的一行.但是,我希望其中只有一个能够同时执行此操作.
有没有办法锁定整个表,例如阻止任何人放置新行或更新行?
谢谢,克里斯蒂安
我不清楚为什么你会想要这个,但如果你真的想锁定整个表,你可以:
改编自此处的示例:
ALTER INDEX [MyIndexName] ON [dbo].[MyTableName] SET ( ALLOW_ROW_LOCKS = OFF, ALLOW_PAGE_LOCKS = OFF)
Run Code Online (Sandbox Code Playgroud)
注意:这假设您的应用程序仅“拥有”这些表 - 不想应用它并破坏其他一些应用程序
改编自此处的示例:
TransactionOptions topt = new TransactionOptions();
topt.IsolationLevel = System.Transactions.IsolationLevel.Serializable;
using (var tran = new TransactionScope(TransactionScopeOption.Required, topt)) {
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7471 次 |
| 最近记录: |