Partilhar via


ADO.NET DataSets

O DataSet objeto é fundamental para suportar cenários de dados desconectados e distribuídos com ADO.NET. O DataSet é uma representação residente na memória de dados 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 dados locais para o 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 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 (XML schema definition language). Para obter mais informações, consulte Usando XML em um DataSet.

O DataTableCollection

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

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

A classe DataView

A DataView permite que você crie diferentes exibições dos dados armazenados em um DataTable, um recurso que é frequentemente usado em aplicativos de vinculação de dados. Usando um DataView, você pode expor os dados em uma tabela com diferentes ordens de classificação e pode 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 DataRelationCollection objeto. Uma relação, representada pelo DataRelation objeto, associa linhas em uma DataTable com linhas em outra DataTable. Uma relação é análoga a um caminho de junção que pode existir entre colunas de chave primária e 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 do relacionamento, 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 DataColumn objetos como as colunas principais. Ao adicionar um relacionamento ao DataRelationCollection, você pode, opcionalmente, adicionar um UniqueKeyConstraint e um ForeignKeyConstraint para impor restrições de integridade quando forem feitas alterações nos valores de coluna relacionados.

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

XML

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

ExtendedProperties

O DataSet, DataTable e DataColumn têm uma propriedade ExtendedProperties. ExtendedProperties é um PropertyCollection onde você pode colocar informações personalizadas, como a instrução SELECT que foi usada para gerar o conjunto de resultados ou a hora em que os dados foram gerados. A coleção ExtendedProperties é mantida com as informações de esquema para o DataSet.

LINQ para DataSet

O LINQ to DataSet fornece recursos de consulta integrados à linguagem para dados desconectados armazenados em um DataSet. O LINQ to DataSet usa sintaxe LINQ padrão 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.

Consulte também