Condividi tramite


Uso delle annotazioni sql:identity e sql:guid

È possibile specificare le sql:identity annotazioni 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 updg:at-identity attributi e updg:guid , il formato DiffGram non è . 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 sql:identity annotazioni e sql:guid estendono questa funzionalità a DiffGram.

Quando si esegue un DiffGram, viene prima convertito in un updategram e quindi viene eseguito l'updategram. Specificando le sql:identity annotazioni e sql:guid nello schema XSD, si definisce infatti il comportamento di un updategram. Pertanto, tutte le annotazioni vengono descritte nel contesto di un updategram. Le annotazioni possono essere usate sia per i DiffGram che per gli updategram; Tuttavia, gli updategram offrono già un modo più efficace per gestire i valori identity e GUID.

Le sql:identity annotazioni 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).

L'annotazione sql:identity può essere assegnata a due valori:

ignorare
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
Indirizza l'updategram a usare il valore fornito nell'updategram per aggiornare la colonna di tipo IDENTITY. Un updategram non verifica se la colonna è un valore Identity o meno.

Se l'updategram specifica un valore per la colonna di tipo IDENTITY, deve sql:identity="useValue" essere specificato 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.

L'annotazione sql:guid può essere assegnata a due valori:

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

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