|
Funcția ConcurrencyCheck poate fi aplicată proprietăților unei clase de domeniu. Când EF efectuează o operație de actualizare, Code-First introduce valoarea coloanei în instrucțiunea condiției where, iar poți folosi această funcție CurrencyCheck pentru a folosi coloanele existente pentru verificarea concurenței, în loc să folosești o coloană TimeStamp separată pentru verificarea concurenței. Uită-te la codul de mai jos: Apoi, să modificăm codul de test pentru funcția principală:
Atunci mesajul de concurență de eroare este:
executiv sp_executesql N'UPDATE [dbo]. [StudentInfo] SET [NumeStudent] = @0, [StdId] = @1 UNDE (((([StudentKey1] = @2) ȘI ([StudentKey2] = @3)) ȘI ([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' Vă rugăm să rețineți:
Rețineți că atributul TimeStamp poate fi aplicat doar unei proprietăți de tablou de un singur octet dintr-o clasă, în timp ce atributul ConcurrencyCheck poate fi aplicat oricărui număr de proprietăți cu orice tip de date.
Funcția TimeStamp poate fi folosită doar în clasele cu proprietate de un singur octet, dar funcția ConcurrencyCheck poate fi folosită în orice număr și tip de proprietate.
|