|
ConcurrencyCheck-funksjonen kan brukes på egenskapene til en domeneklasse. Når EF utfører en oppdateringsoperasjon, legger Code-First verdien til kolonnen i where-betingelsessetningen, og du kan bruke denne CurrencyCheck-funksjonen til å bruke de eksisterende kolonnene for samtidighetssjekk, i stedet for å bruke en separat TimeStamp-kolonne for samtidighetskontroll. Se på koden nedenfor: La oss deretter endre testkoden for hovedfunksjonen:
Da er feil-samtidighetsmeldingen:
exec sp_executesql N'UPDATE [dbo]. [StudentInfo] SET [StudentNavn] = @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' Vennligst merk:
Merk at TimeStamp-attributtet kun kan brukes på én byte-array-egenskap i en klasse, mens ConcurrencyCheck-attributtet kan brukes på et hvilket som helst antall egenskaper med hvilken som helst datatype.
TimeStamp-funksjonen kan kun brukes i klasser med én byte-egenskap, men ConcurrencyCheck-funksjonen kan brukes i hvilket som helst antall og hvilken som helst type egenskap.
|