我想在SQL Server中锁定一段给定的时间。我在代码级别使用C#。我怎样才能实现它,我还需要验证表是否已锁定。我对SQL Server中的锁表知之甚少。我想用实体框架实现它。非常感谢任何帮助。
答案 0 :(得分:2)
您可以尝试如下所示。
using (var context = new YourContext())
{
using (var dbContextTransaction = context.Database.BeginTransaction())
{
//Lock the table during this transaction
context.Database.ExecuteSqlCommand("SELECT 1 FROM YourTable WITH (TABLOCKX)
WAITFOR DELAY '00:03:00'");
//your work here
dbContextTransaction.Commit();
}
}
注意:表锁将在退出BeginTransaction
块后释放