|
ConcurrencyCheck-funktionen kan anvendes på egenskaberne for en domæneklasse. Når EF udfører en opdateringsoperation, sætter Code-First værdien af kolonnen i where-betingelsessætningen, og du kan bruge denne CurrencyCheck-funktion til at bruge de eksisterende kolonner til samtidighedskontrol i stedet for at bruge en separat TimeStamp-kolonne til samtidighedskontrol. Se koden nedenfor: Dernæst ændrer vi testkoden for hovedfunktionen:
Så er fejlmeddelelsen om samtidighed:
exec sp_executesql N'UPDATE [dbo]. [StudentInfo] SET [StudentName] = @0, [StdId] = @1 HVOR ((([StudentKey1] = @2) OG ([StudentKey2] = @3)) OG ([StudentName] = @4)) ',N'@0 nvarchar(20),@1 int,@2 int,@3 int,@4 nvarchar(20)',@0=N'Test kun for én',@1=1,@2=1,@3=1,@4=N'Test kun for én' Bemærk venligst:
Bemærk, at attributten TimeStamp kun kan anvendes på en enkelt byte-array-egenskab i en klasse, mens attributten ConcurrencyCheck kan anvendes på et vilkårligt antal egenskaber med enhver datatype.
TimeStamp-funktionen kan kun bruges i klasser med en egenskab for én byte, men ConcurrencyCheck-funktionen kan bruges i ethvert antal og hvilken som helst type egenskab.
|