Uma série de dados é uma loja dos dados da em-memória que possa prender as tabelas numerosas. As séries de dados prendem somente dados e não interagem com nenhuma origem dos dados. É o SqlDataAdapter que controla conexões com a origem dos dados e nos dá o comportamento desconectado. O SqlDataAdapter abre uma conexão somente quando requerido e fecha-a assim que executar sua tarefa.
O SqlDataAdapter executa as seguintes tarefas ao encher uma série de dados com os dados:
- Abrir a conexão
- Recuperar dados na série de dados
- Fechar a conexão
Executa as seguintes ações ao atualizar a origem dos dados com a série de dados muda:
- Abrir a conexão
- Escrever mudanças da série de dados à origem dos dados
- Fechar a conexão
Os scenarios de um par ilustram porque você quereria trabalhar com dados desconectados: povoar trabalhar sem connectivity da rede e fazer Web site mais scalable. Considerar os povos das vendas que necessitam dados do cliente enquanto viajam. No começo do dia, necessitarão a sincronização acima com a base de dados principal ter a informação a mais atrasada disponível. Durante o dia, farão modificações aos dados existentes do cliente, adicionam clientes novos, e input ordens novas. Isto é aprovado porque têm uma base dada da região ou de cliente onde os povos não estejam mudando os mesmos registros. No fim do dia, a pessoa das vendas conectará à rede e o update muda durante a noite processando.
Um outro scenario está fazendo um Web site mais scalable. Com um SqlDataReader, você tem que ir para trás à base de dados para registros cada vez que você mostra uma página. Isto requer uma conexão nova para cada carga da página, que ferirá o scalability como o número dos usuários aumenta. O one-way para aliviar isto é usar uma série de dados que seja um tempo updated e armazenado no esconderijo.
As exceções ao scenario acima incluem as situações onde você necessita atualizar dados. Você então tem que fazer uma decisão, baseada na natureza de como os dados serão usados a respeito de sua estratégia. Usar dados desconectados quando sua informação é lida primeiramente somente, mas considerar outras alternativas (tais como usar o objeto de SqlCommand para o update imediato) quando suas exigências se chamam para algo mais dinâmico.
|