Я удаляю некоторые объекты и строки с помощью двух методов в моем веб-приложении MVC asp.net: первый подход включает удаление объекта Entity Framework, например:
public void DeleteMyObject(MyObject a)
{
entities1.MyObject.Remove(a);
}
, тогда как второй подход вызываетхранимая процедура из моего метода репозитория для удаления строки базы данных, такой как:
public void Deleteuserclass(string a, int u)
{
entities1.deleteuserclass(a, u);
}
, которая вызывает следующую хранимую процедуру:
ALTER PROCEDURE dbo.deleteuserclass
@userid nvarchar(50),
@classid int
AS
Begin
Delete from Users_Classes where UserID = @userid AND ClassID = @classid
if @@rowcount = 0
Raiserror('No record deleted',1,16)
END
с использованием любого из двух вышеуказанных подходов;могу ли я быть уверен, что если два запроса на удаление для удаления одного и того же объекта поступят на сервер одновременно, то только один запрос удалит запись из базы данных, а другой запрос получит исключение (я имею в виду Entity Framework илибаза данных SQL Server блокирует строку во время ее удаления?)?
BR