|
ConcurrencyCheck funkcija gali būti taikoma domeno klasės ypatybėms. Kai EF atlieka naujinimo operaciją, Code-First įrašo stulpelio reikšmę į sakinį where sąlyga, ir jūs galite naudoti šią CurrencyCheck funkciją, jei norite naudoti esamus stulpelius sutapimui tikrinti, o ne naudoti atskirą TimeStamp stulpelį sutapimui tikrinti. Pažvelkite į žemiau esantį kodą: Tada pakeiskime pagrindinės funkcijos bandymo kodą:
Tada klaidos sutapimo pranešimas yra:
exec sp_executesql N'UPDATE [dbo]. [StudentInfo] SET [StudentName] = @0, [StdId] = @1 WHERE ((([StudentKey1] = @2) AND ([StudentKey2] = @3)) AND ([StudentName] = @4)) ',N'@0 nvarchar(20),@1 int,@2 int,@3 int,@4 nvarchar(20)',@0=N'Testas tik vienam',@1=1,@2=1,@3=1,@4=N'Testas tik vienam' Atkreipkite dėmesį:
Atkreipkite dėmesį, kad atributas TimeStamp gali būti taikomas tik vieno baitų masyvo ypatybei klasėje, o ConcurrencyCheck atributas gali būti taikomas bet kokiam skaičiui ypatybių su bet kokiu duomenų tipu.
TimeStamp funkcija gali būti naudojama tik klasėse su vieno baito ypatybe, tačiau ConcurrencyCheck funkcija gali būti naudojama bet kokiam ypatybių skaičiui ir tipui.
|