Я хочу заблокировать таблицу за определенное количество времени в SQL Server. Я использую C# на уровне кода. Как я могу достичь этого, мне также нужно проверить, что таблица заблокирована или нет. У меня мало знаний о блокировании таблиц в SQL Server. Я хочу достичь этого с помощью структуры сущностей. Буду признателен за любую оказанную помощь.Заблокировать таблицу SQL-сервера за заданное время и проверить, заблокирована ли она
0
A
ответ
1
Вы можете попробовать, как показано ниже.
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
блока
+1
небольшое редактирование. Я должен быть 'dbContextTransaction.Commit()' вместо 'scope.Commit()' и Table в команде SQL для замены фактическим именем таблицы –
+1
Спасибо за исправление. Я редактировал это :) – Sampath
http://stackoverflow.com/questions/25273157/t-sql-lock-a-table-manually- для-some-minutes – Vincent
Это не может быть сделано с чистой сущностью. У вас будет ** использовать **. –