Partager via


Utilisation des annotations sql :identity et sql :guid

Vous pouvez spécifier les annotations et sql:guid les sql:identity annotations d’un schéma XSD sur n’importe quel nœud mappé à une colonne de base de données dans Microsoft SQL Server. Alors que le format updategram prend en charge les attributs et updg:guid les updg:at-identity attributs, le format DiffGram ne le fait pas. L’attribut updg:at-identity définit le comportement lors de la mise à jour d’une colonne de type IDENTITY. L’attribut updg:guid vous permet d’obtenir une valeur GUID à partir de SQL Server et de l’utiliser dans le code de mise à jour. Pour plus d’informations et des exemples de travail, consultez Insertion de données à l’aide de codes de mise à jour XML (SQLXML 4.0).

Les sql:identity annotations et sql:guid les annotations étendent cette fonctionnalité à DiffGrams.

Lorsque vous exécutez un DiffGram, il est d’abord converti en un code de mise à jour, puis le code de mise à jour est exécuté. En spécifiant les annotations et sql:guid les sql:identity annotations dans le schéma XSD, vous définissez en fait le comportement d’un code de mise à jour. Par conséquent, toutes les annotations sont décrites dans le contexte d’un code de mise à jour. Les annotations peuvent être utilisées à la fois pour les DiffGrams et les codes de mise à jour ; Toutefois, les codes de mise à jour offrent déjà un moyen plus puissant de gérer les valeurs d’identité et de GUID.

Les sql:identity annotations et sql:guid les annotations peuvent être définies sur un élément de contenu complexe.

sql :identity Annotation

Vous pouvez spécifier l’annotation sql:identity dans le schéma XSD sur n’importe quel nœud mappé à une colonne de base de données de type IDENTITY. La valeur spécifiée pour cette annotation définit la façon dont la colonne de type IDENTITY est mise à jour (à l’aide de la valeur fournie dans le code de mise à jour pour modifier la colonne ou en ignorant la valeur, auquel cas une valeur générée par SQL Server est utilisée pour cette colonne).

L’annotation sql:identity peut être affectée à deux valeurs :

ignorer
Indique au code de mise à jour d’ignorer toute valeur fournie dans le code de mise à jour de cette colonne et de s’appuyer sur SQL Server pour générer la valeur d’identité.

useValue
Dirige le code de mise à jour pour utiliser la valeur fournie dans le code de mise à jour pour mettre à jour la colonne de type IDENTITY. Un code de mise à jour ne vérifie pas si la colonne est une valeur d’identité ou non.

Si le code de mise à jour spécifie une valeur pour la colonne de type IDENTITY, celui-ci sql:identity="useValue" doit être spécifié dans le schéma.

sql :guid Annotation

Un code de mise à jour peut avoir SQL Server générer une valeur GUID, puis utiliser cette valeur dans le code de mise à jour. Dans le contexte de DiffGrams, vous pouvez utiliser l’annotation sql:guid pour spécifier s’il faut utiliser une valeur GUID générée par SQL Server ou utiliser la valeur fournie dans le code de mise à jour de cette colonne.

L’annotation sql:guid peut être affectée à deux valeurs :

générer
Spécifie que le GUID généré par SQL Server doit être utilisé pour cette colonne dans l’opération de mise à jour.

useValue
Spécifie que la valeur spécifiée dans le code de mise à jour doit être utilisée pour la colonne. Il s’agit de la valeur par défaut.