|
Функцію Concurrency Check можна застосувати до властивостей класу домену. Коли EF виконує операцію оновлення, Code-First вводить значення стовпця у оператор умови where, і ви можете використати цю функцію CurrencyCheck для перевірки конкурентності, замість окремого стовпця TimeStamp для перевірки конкурентності. Подивіться на код нижче: Далі змінюємо тестовий код для основної функції:
Тоді повідомлення про помилку конкурентності виглядає:
виконавчий sp_executesql N'UPDATE [dbo]. [Інформація про студента] SET [Ім'я студента] = @0, [StdId] = @1 ДЕ ((([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 — у будь-якій кількості та типі властивості.
|