|
ConcurrencyCheck-funktionen kan tillämpas på egenskaperna hos en domänklass. När EF utför en uppdateringsoperation lägger Code-First värdet på kolumnen i where-villkoret, och du kan använda denna CurrencyCheck-funktion för att använda befintliga kolumner för samtidighetskontroll, istället för att använda en separat TimeStamp-kolumn för samtidighetskontroll. Titta på koden nedan: Nästa steg är att modifiera testkoden för huvudfunktionen:
Då är felmeddelandet för samtidighet:
exec sp_executesql N'UPDATE [dbo]. [StudentInfo] SET [StudentName] = @0, [StdId] = @1 DÄR ((([StudentKey1] = @2) OCH ([StudentKey2] = @3)) OCH ([StudentName] = @4)) ',N'@0 nvarchar(20),@1 int,@2 int,@3 int,@4 nvarchar(20)',@0=N'Testa endast för en',@1=1,@2=1,@3=1,@4=N'Testa endast för en' Observera:
Observera att attributet TimeStamp endast kan tillämpas på en enda bytearrayegenskap i en klass, medan attributet ConcurrencyCheck kan tillämpas på valfritt antal egenskaper med valfri datatyp.
Funktionen TimeStamp kan endast användas i klasser med en egenskap på en byte, men funktionen ConcurrencyCheck kan användas i valfritt antal och typer av egenskap.
|