|
Funkcję ConcurrencyCheck można zastosować do właściwości klasy domeny. Gdy EF wykonuje operację aktualizacji, Code-First umieszcza wartość kolumny w instrukcji where-condition, a funkcja CurrencyCheck pozwala wykorzystać istniejące kolumny do sprawdzania współbieżności, zamiast używać osobnej kolumny TimeStamp do sprawdzania współbieżności. Spójrz na poniższy kod: Następnie zmodyfikujmy kod testowy dla głównej funkcji:
Wtedy komunikat o współbieżności błędu to:
exec sp_executesql N'UPDATE [dbo]. [StudentInfo] SET [StudentName] = @0, [StdId] = @1 GDZIE ((([StudentKey1] = @2) AND ([StudentKey2] = @3)) ORAZ ([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' Proszę zauważyć:
Należy zauważyć, że atrybut TimeStamp może być stosowany tylko do pojedynczej własności tablicy bajtowej w klasie, natomiast atrybut ConcurrencyCheck może być stosowany do dowolnej liczby właściwości z dowolnym typem danych.
Funkcja TimeStamp może być używana tylko w klasach z własnością jednobajtową, natomiast funkcja Concurrency Check może być używana w dowolnej liczbie i typie właściwości.
|