|
La fonctionnalité ConcurrencyCheck peut être appliquée aux propriétés d’une classe de domaine. Lorsque EF effectue une opération de mise à jour, Code-First place la valeur de la colonne dans l’instruction condition where, et vous pouvez utiliser cette fonctionnalité CurrencyCheck pour utiliser les colonnes existantes pour la vérification de la concurrence, plutôt que d’utiliser une colonne TimeStamp séparée pour la vérification de la concurrence. Regardez le code ci-dessous : Ensuite, modifions le code de test pour la fonction principale :
Alors le message de conconcurrence d’erreur est :
exécutif sp_executesql N’UPDATE [dbo]. [StudentInfo] SET [NomDeÉtudiant] = @0, [StdId] = @1 OÙ (((([ÉtudiantClé1] = @2) ET ([ÉtudiantClé2] = @3)) ET ([ÉtudiantNom] = @4)) ',N'@0 nvarchar(20),@1 int,@2 int,@3 int,@4 nvarchar(20)',@0=N’Teste seulement pour un' », @1=1,@2=1,@3=1,@4=N’Teste seulement pour un' Veuillez noter :
Notez que l’attribut TimeStamp ne peut être appliqué qu’à une propriété d’un seul octet dans un tableau d’une classe, tandis que l’attribut ConcurrencyCheck peut être appliqué à n’importe quel nombre de propriétés avec n’importe quel type de données.
La fonction TimeStamp ne peut être utilisée que dans les classes possédant une propriété d’octet unique, mais la fonction ConcurrencyCheck peut être utilisée dans n’importe quel nombre et type de propriété.
|