Trabalhando com esquemas de tabela no banco de dados cliente
Dica
As informações a seguir foram incluídas como referência para aplicativos existentes que dão suporte apenas a cenários offline. Para desenvolver novos aplicativos, consulte Arquitetura e classes para sincronização de bancos de dados.
Este tópico descreve as diversas maneiras de trabalhar com os esquemas de tabelas criados em bancos de dados cliente.
Sincronização do cliente e do servidor
Durante a sessão de sincronização inicial de um cliente, o Sync Framework cria tabelas no banco de dados cliente. Para obter mais informações, consulte Como inicializar o banco de dados cliente e trabalhar com esquemas de tabela. Após a criação dessas tabelas, são permitidas algumas alterações de esquema.
O Sync Framework não propaga automaticamente as alterações de esquema do servidor para o cliente. Para obter informações sobre como manipular as alterações de esquema no servidor, consulte Implantando e controlando a versão de aplicativos. As seguintes alterações de esquema têm suporte no banco de dados cliente:
Descartar tabelas. O comportamento durante a próxima sincronização depende do valor especificado para CreationOption. Se você não quiser a tabela no cliente, remova-a de SyncTableCollection. Ao descartar uma tabela na qual o controle de alterações está habilitado, você também descartará a tabela do sistema que controla as operações de exclusão dessa tabela. Portanto, todas as operações de exclusão desde a última sincronização não são carregadas no servidor.
Adicionar novas colunas.
Descartar colunas de tabelas envolvidas na sincronização de instantâneo. Essa alteração não tem suporte em outros tipos de sincronização.
Adicionar, descartar e renomear índices.
Adicionar, descartar e renomear chaves primárias e outras restrições.
Modificar padrões.
Todas as outras alterações não têm suporte e podem causar falhas de sincronização.
Em alguns aplicativos, o esquema é diferente no cliente e no servidor. Os seguintes pontos resumem o comportamento de uma tabela e o conjunto de dados do ADO.NET que o Sync Framework usa para atualizar essa tabela no cliente:
Se o conjunto de dados contiver Coluna1 e Coluna2, e a tabela contiver Coluna1, Coluna2 e Coluna3: os valores da Coluna1 e da Coluna2 serão aplicados e a Coluna3 será definida como seu valor padrão ou NULL se ela não tiver um padrão.
Se o conjunto de dados contiver Coluna1, Coluna2 e Coluna3, e a tabela contiver Coluna1 e Coluna2: os valores da Coluna1 e da Coluna2 serão aplicados e a Coluna3 será ignorada.
Se o conjunto de dados contiver Coluna1, Coluna2 e Coluna3, e a tabela contiver Coluna1, Coluna2 e Coluna4: os valores da Coluna1 e da Coluna2 serão aplicados; a Coluna3 será definida como seu valor padrão ou NULL, se ela não tiver um padrão, e a Coluna4 será ignorada.