DataSets ADO.NET

O objeto DataSet é central para o suporte a cenários de dados desconectados e distribuídos com o ADO.NET. O DataSet é uma representação de dados residentes na memória que fornece um modelo de programação relacional consistente, independentemente da fonte de dados. Ele pode ser usado com várias e diferentes fontes de dados, com dados XML ou para gerenciar o local dos dados no aplicativo. O DataSet representa um conjunto completo de dados, incluindo tabelas relacionadas, restrições e relações entre as tabelas. A ilustração a seguir mostra o modelo de objeto DataSet.

ADO.Net graphic
Modelo de objeto DataSet

Os métodos e os objetos em um DataSet são consistentes com aqueles no modelo de banco de dados relacional.

O DataSet também pode persistir e recarregar seu conteúdo como XML e seu esquema como esquema XSD (linguagem de definição de esquema XML). Para obter mais informações, consulte Using XML in a DataSet (Usando XML em um DataSet).

O DataTableCollection

Um DataSet do ADO.NET contém uma coleção de zero ou mais tabelas representadas por objetos DataTable. O DataTableCollection contém todos os objetos DataTable em um DataSet.

Um DataTable é definido no namespace System.Data e representa uma única tabela de dados residente na memória. Ele contém uma coleção de colunas representadas por DataColumnCollection e restrições representadas por ConstraintCollection, que definem em conjunto o esquema da tabela. Um DataTable também contém uma coleção de linhas representadas por DataRowCollection, que contém os dados na tabela. Juntamente com seu estado atual, um DataRow retém sua versão atual e sua versão original para identificar alterações em valores armazenados na linha.

A classe DataView

Um DataView permite que você crie diferentes exibições dos dados armazenados em um DataTable, um recurso que é geralmente usado em aplicativos de vinculação de dados. Ao usar uma classe DataView, você pode expor os dados em uma tabela com diferentes ordens de classificação e filtrar os dados por estado de linha ou com base em uma expressão de filtro. Para obter mais informações, consulte DataViews.

O DataRelationCollection

Um DataSet contém relações em seu objeto DataRelationCollection. Uma relação, representada pelo objeto DataRelation, associa linhas em um DataTable a linhas em outro DataTable. Uma relação é análoga a um caminho de união que possa existir entre colunas primárias e colunas de chave estrangeira em um banco de dados relacional. Um DataRelation identifica colunas correspondentes em duas tabelas de um DataSet.

As relações permitem a navegação de uma tabela para outra em um DataSet. Os elementos essenciais de um DataRelation são o nome da relação, o nome das tabelas que estão sendo relacionadas e as colunas relacionadas em cada tabela. As relações podem ser construídas com mais de uma coluna por tabela especificando uma matriz de objetos DataColumn como colunas-chave. Quando você adiciona uma relação a DataRelationCollection, pode, opcionalmente, adicionar UniqueKeyConstraint e ForeignKeyConstraint para impor restrições de integridade quando alterações são feitas em valores da coluna relacionada.

Para obter mais informações, consulte Adicionar DataRelations.

XML

É possível preencher um DataSet com base em um fluxo ou de um documento XML. Você pode usar o fluxo ou o documento XML para fornecer ao DataSet dados, informações de esquema ou ambos. As informações fornecidas do fluxo ou do documento XML podem ser combinadas com dados existentes ou com informações de esquema já presentes no DataSet. Para obter mais informações, consulte Using XML in a DataSet (Usando XML em um DataSet).

ExtendedProperties

Os objetos DataSet, DataTable e DataColumn têm uma propriedade ExtendedProperties. A propriedade ExtendedProperties é uma PropertyCollection na qual é possível colocar informações personalizadas, como a instrução SELECT usada para gerar o conjunto de resultados ou a hora em que os dados foram gerados. A coleção ExtendedProperties é persistida com as informações de esquema do DataSet.

LINQ to DataSet

O LINQ to DataSet fornece funcionalidades de consulta integrada à linguagem para dados armazenados desconectados em um DataSet. O LINQ to DataSet usa a sintaxe padrão LINQ e fornece verificação de sintaxe em tempo de compilação, digitação estática e suporte ao IntelliSense quando você estiver usando o IDE do Visual Studio.

Para obter mais informações, consulte LINQ to DataSet.

Confira também