|
Die ConcurrencyCheck-Funktion kann auf die Eigenschaften einer Domänenklasse angewendet werden. Wenn EF eine Aktualisierungsoperation durchführt, setzt Code-First den Wert der Spalte in die where-Condition-Anweisung, und Sie können diese CurrencyCheck-Funktion nutzen, um die vorhandenen Spalten für die Nebenfeldigkeitsprüfung zu verwenden, anstatt eine separate TimeStamp-Spalte für Nebenläufigkeitsprüfungen zu verwenden. Sieh dir den Code unten an: Als Nächstes ändern wir den Testcode für die Hauptfunktion:
Dann lautet die Fehler-Nebenwahl-Meldung:
exec sp_executesql N'UPDATE [dbo]. [StudentInfo] SET [StudentName] = @0, [StdId] = @1 WO ((([StudentKey1] = @2) UND ([StudentKey2] = @3)) UND ([StudentName] = @4)) ',N'@0 nvarchar(20),@1 int,@2 int,@3 int,@4 nvarchar(20)',@0=N'Test nur für einen',@1=1,@2=1,@3=1,@4=N'Test nur für einen' Bitte beachten Sie:
Beachten Sie, dass das TimeStamp-Attribut nur auf eine einzelne Byte-Array-Eigenschaft einer Klasse angewendet werden kann, während das ConcurrencyCheck-Attribut auf beliebig viele Eigenschaften mit beliebigem Datentyp angewendet werden kann.
Die TimeStamp-Funktion kann nur in Klassen mit einer Einzelbyte-Eigenschaft verwendet werden, aber die ConcurrencyCheck-Funktion kann in beliebiger Anzahl und Art von Eigenschaft verwendet werden.
|