|
Функцията Concurrency Check може да се приложи към свойствата на клас на домейн. Когато EF извършва операция за обновяване, Code-First въвежда стойността на колоната в позицията where condition и можете да използвате тази функция CurrencyCheck, за да използвате съществуващите колони за проверка на конкурентността, вместо да използвате отделна колона TimeStamp за проверка на конкурентност. Вижте кода по-долу: След това нека модифицираме тестовия код за основната функция:
Тогава съобщението за грешка за конкурентност е:
изпълнителен sp_executesql N'UPDATE [dbo]. [Студентска информация] SET [StudentName] = @0, [StdId] = @1 WHERE ((([StudentKey1] = @2) И ([StudentKey2] = @3)) И ([StudentName] = @4)) ',N'@0 nvarchar(20),@1 int,@2 int,@3 int,@4 nvarchar(20)',@0=N'Test Only For one',@1=1,@2=1,@3=1,@4=N'Test Only For One' Моля, обърнете внимание:
Обърнете внимание, че атрибутът TimeStamp може да се приложи само към свойство на масив от един байт в клас, докато атрибутът Concurrency Check може да се приложи към произволен брой свойства с произволен тип данни.
Функцията TimeStamp може да се използва само в класове с еднобайтово свойство, но ConcurrencyCheck може да се използва в произволен брой и тип свойства.
|