|
ConcurrencyCheck-ominaisuutta voidaan soveltaa domain-luokan ominaisuuksiin. Kun EF suorittaa päivitysoperaation, Code-First asettaa sarakkeen arvon where-ehtolauseeseen, ja voit käyttää tätä CurrencyCheck-ominaisuutta käyttääksesi olemassa olevia sarakkeita rinnakkaistarkistukseen, sen sijaan että käyttäisit erillistä TimeStamp-saraketta rinnakkaistarkistukseen. Katso alla olevaa koodia: Seuraavaksi muokataan pääfunktion testikoodia:
Silloin samanaikaisuuden virheviesti on:
exec sp_executesql N'UPDATE [dbo]. [StudentInfo] SET [StudentName] = @0, [StdId] = @1 MISSÄ ((([StudentKey1] = @2) JA ([StudentKey2] = @3)) JA ([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' Huomioithan:
Huomaa, että TimeStamp-attribuuttia voidaan soveltaa vain yhden tavun matriisiominaisuuteen luokassa, kun taas ConcurrencyCheck-attribuuttia voidaan soveltaa mihin tahansa määrään ominaisuuksia millä tahansa tietotyypillä.
TimeStamp-ominaisuutta voi käyttää vain luokissa, joissa on yksitavuinen ominaisuus, mutta ConcurrencyCheck-ominaisuutta voidaan käyttää missä tahansa määrässä ja -tyyppisissä ominaisuuksissa.
|