|
Funkcia ConcurrencyCheck sa dá aplikovať na vlastnosti doménovej triedy. Keď EF vykoná aktualizačnú operáciu, Code-First vloží hodnotu stĺpca do príkazu where condition a túto funkciu CurrencyCheck môžete použiť na použitie existujúcich stĺpcov na kontrolu súbežnosti, namiesto samostatného stĺpca TimeStamp na kontrolu súbežnosti. Pozrite si kód nižšie: Ďalej upravme testovací kód pre hlavnú funkciu:
Potom je správa o chybovej súbežnosti:
exec sp_executesql N'UPDATE [dbo]. [StudentInfo] SET [StudentName] = @0, [StdId] = @1 KDE ((([StudentKey1] = @2) AND ([StudentKey2] = @3)) AND ([StudentName] = @4)) ',N'@0 nvarchar(20),@1 int,@2 int,@3 int,@4 nvarchar(20)',@0=N'Test Only For One',@1=1,@2=1,@3=1,@4=N'Test Only For One' Všimnite si:
Všimnite si, že atribút TimeStamp možno aplikovať iba na vlastnosť jednobajtového poľa v triede, zatiaľ čo atribút ConcurrencyCheck môže byť aplikovaný na ľubovoľný počet vlastností s ľubovoľným dátovým typom.
Funkcia TimeStamp sa dá použiť iba v triedach s jednobajtovou vlastnosťou, ale funkcia ConcurrencyCheck môže byť použitá v ľubovoľnom počte a type vlastností.
|