Usando as anotações sql:identity e sql:guid
Você pode especificar as anotações sql:identity e sql:guid anotações em um esquema XSD em qualquer nó mapeado para uma coluna do banco de dados no MicrosoftSQL Server. Enquanto o formato de diagrama de atualização dá suporte aos atributos updg:at-identity e updg:guid, isso não ocorre com o formato DiffGram. O atributo updg:at-identity define o comportamento ao atualizar uma coluna do tipo IDENTITY. O atributo updg:guid permite obter um valor de GUID do SQL Server e o utilizar no diagrama de atualização. Para obter mais informações e exemplos de funcionamento, consulte Inserindo dados usando diagramas de atualização XML (SQLXML 4.0).
As anotações sql:identity e sql:guid estendem esta funcionalidade a DiffGrams.
Quando você executa um DiffGram, ele é primeiro convertido em um diagrama de atualização e, em seguida, o diagrama de atualização é executado. Ao especificar as anotações sql:identity e sql:guid no esquema XSD, você está na verdade definindo o comportamento de um diagrama de atualização. Assim, todas as anotações são descritas no contexto de um diagrama de atualização. As anotações podem ser usadas para DiffGrams e diagramas de atualização; entretanto, os diagramas de atualização já fornecem um modo mais avançado de tratar valores de GUID e identidade.
As anotações sql:identity e sql:guid podem ser definidas em um elemento de conteúdo complexo.
Anotação sql:identity
Você pode especificar a anotação sql:identity no esquema XSD em qualquer nó mapeado para uma coluna de banco de dados do tipo IDENTITY. O valor especificado para esta anotação define como a coluna do tipo IDENTITY é atualizada (usando o valor fornecido no diagrama de atualização para modificar a coluna ou ignorando o valor; nesse caso, um valor gerado pelo SQL Server será usado para esta coluna).
É possível atribuir dois valores à anotação sql:identity:
ignore
Direciona o diagrama de atualização para ignorar qualquer valor que seja fornecido no diagrama de atualização para essa coluna e para depender do SQL Server para gerar o valor da identidade.useValue
Direciona o diagrama de atualização para usar o valor que é fornecido no diagrama de atualização para atualizar a coluna do tipo IDENTITY. Um diagrama de atualização não verifica se a coluna é um valor de identidade ou não.
Se o diagrama de atualização especificar um valor para a coluna do tipo IDENTITY, sql:identity="useValue" deve ser especificado no esquema.
Anotação sql:guid
Um diagrama de atualização pode fazer o SQL Server gerar um valor de GUID e então usar esse valor no diagrama de atualização. No contexto de DiffGrams, você pode usar a anotação sql:guid para especificar se deve ser usado um valor de GUID gerado pelo SQL Server ou um valor que é fornecido no diagrama de atualização para essa coluna.
É possível atribuir dois valores à anotação sql:guid:
generate
Especifica que o GUID gerado pelo SQL Server seja usado para essa coluna na operação de atualização.useValue
Especifica que o valor especificado no diagrama de atualização seja usado para a coluna. Este é o valor padrão.