|
Līdzekli ConcurrencyCheck var lietot domēna klases rekvizītiem. Kad EF veic atjaunināšanas operāciju, Code-First ievieto kolonnas vērtību where nosacījuma priekšrakstā, un jūs varat izmantot šo CurrencyCheck līdzekli, lai izmantotu esošās kolonnas vienlaicīguma pārbaudei, nevis izmantot atsevišķu TimeStamp kolonnu vienlaicīguma pārbaudei. Apskatiet zemāk esošo kodu: Pēc tam modificēsim galvenās funkcijas testa kodu:
Tad kļūdas vienlaicīguma ziņojums ir šāds:
exec sp_executesql N'UPDATE [dbo]. [Studenta informācija] 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'Tests tikai vienam',@1=1,@2=1,@3=1,@4=N'Tests tikai vienam' Lūdzu, ņemiet vērā:
Ņemiet vērā, ka atribūtu TimeStamp var lietot tikai viena baitu masīva rekvizītam klasē, savukārt atribūtu ConcurrencyCheck var lietot jebkuram rekvizītu skaitam ar jebkuru datu tipu.
Līdzekli TimeStamp var izmantot tikai klasēs ar viena baita rekvizītu, bet līdzekli ConcurrencyCheck var izmantot jebkuram rekvizītu skaitam un tipam.
|