Condividi tramite


Utilizzo delle annotazioni sql:identity e sql:guid

Si applica a: SQL Server Database SQL di Azure

È possibile specificare le annotazioni sql:identity e sql:guid in uno schema XSD in qualsiasi nodo che esegue il mapping a una colonna di database in Microsoft SQL Server. Mentre il formato updategram supporta gli attributi updg:at-identity e updg:guid , il formato DiffGram non lo è. L'attributo updg:at-identity definisce il comportamento nell'aggiornamento di una colonna di tipo IDENTITY. L'attributo updg:guid consente di ottenere un valore GUID da SQL Server e usarlo nell'updategram. Per altre informazioni ed esempi funzionanti, vedere Inserimento di dati tramite updategram XML (SQLXML 4.0).For more information and working samples, see Inserting Data Using XML Updategrams (SQLXML 4.0).

Le annotazioni sql:identity e sql:guid estendono questa funzionalità a DiffGram.

Per eseguire un DiffGram, è necessario prima convertirlo in updategram. Specificando le annotazioni sql:identity e sql:guid nello schema XSD, si definisce infatti il comportamento di un updategram. Tutte le annotazioni vengono pertanto descritte nel contesto di un updategram. Le annotazioni possono essere utilizzate sia per i DiffGram che per gli updategram. Per gli updategram è tuttavia già disponibile una modalità di gestione dell'identità e dei valori GUID più potente.

Le annotazioni sql:identity e sql:guid possono essere definite in un elemento di contenuto complesso.

Annotazione sql:identity

È possibile specificare l'annotazione sql:identity nello schema XSD in qualsiasi nodo mappato a una colonna di database di tipo IDENTITY. Il valore specificato per questa annotazione definisce il modo in cui viene aggiornata la colonna di tipo IDENTITY (usando il valore fornito nell'updategram per modificare la colonna o ignorando il valore, nel qual caso viene usato un valore generato da SQL Server per questa colonna).

All'annotazione sql:identity possono essere assegnati due valori:

ignore
Indirizza l'updategram a ignorare qualsiasi valore fornito nell'updategram per tale colonna e di basarsi su SQL Server per generare il valore Identity.

useValue
Indica all'updategram di utilizzare il valore fornito nell'updategram per aggiornare la colonna di tipo IDENTITY. Un updategram non controlla se la colonna è un valore Identity.

Se l'updategram specifica un valore per la colonna di tipo IDENTITY, è necessario specificare sql:identity="useValue" nello schema.

Annotazione sql:guid

Un updategram può avere SQL Server generare un valore GUID e quindi usare questo valore nell'updategram. Nel contesto di DiffGrams è possibile usare l'annotazione sql:guid per specificare se usare un valore GUID generato da SQL Server o usare il valore fornito nell'updategram per tale colonna.

All'annotazione sql:guid possono essere assegnati due valori:

generate
Specifica che il GUID generato da SQL Server deve essere usato per tale colonna nell'operazione di aggiornamento.

useValue
Specifica che per la colonna deve essere utilizzato il valore specificato nell'updategram. Questo è il valore predefinito.