Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
É DataSet um dos componentes mais amplamente usados do ADO.NET. É um elemento-chave do modelo de programação desconectado no qual ADO.NET se baseia e permite armazenar dados explicitamente em cache de diferentes fontes de dados. Para a camada de apresentação, DataSet é fortemente integrado aos controles de GUI para associação de dados. Para a camada intermediária, ele fornece um cache que preserva a forma relacional dos dados e inclui funções de consulta rápida e navegação de hierarquia simples. Uma técnica comum usada para reduzir o número de solicitações em um banco de dados é usar o DataSet para cache na camada intermediária. Por exemplo, considere um aplicativo Web ASP.NET controlado por dados. Geralmente, uma parte significativa dos dados do aplicativo não é alterada com frequência e é comum entre sessões ou usuários. Esses dados podem ser mantidos na memória no servidor Web, o que reduz o número de solicitações no banco de dados e acelera as interações do usuário. Outro aspecto DataSet útil é que ele permite que um aplicativo traga subconjuntos de dados de uma ou mais fontes de dados para o espaço do aplicativo. Em seguida, o aplicativo pode manipular os dados na memória, mantendo sua forma relacional.
Apesar de sua proeminência, o DataSet tem capacidades de consulta limitadas. O Select método pode ser usado para filtragem e classificação e os GetChildRows métodos e GetParentRow podem ser usados para navegação de hierarquia. Para qualquer coisa mais complexa, no entanto, o desenvolvedor deve escrever uma consulta personalizada. Isso pode resultar em aplicativos que têm um desempenho ruim e são difíceis de manter.
O LINQ to DataSet torna mais fácil e rápido consultar dados armazenados em cache em um DataSet objeto. Essas consultas são expressas na própria linguagem de programação, e não como os literais de cadeia de caracteres inseridos no código do aplicativo. Isso significa que os desenvolvedores não precisam aprender uma linguagem de consulta separada. Além disso, o LINQ to DataSet permite que os desenvolvedores do Visual Studio trabalhem de forma mais produtiva, pois o IDE do Visual Studio fornece verificação de sintaxe em tempo de compilação, digitação estática e suporte do IntelliSense para LINQ. LINQ to DataSet também pode ser usado para consultar dados que foram consolidados de uma ou mais fontes de dados. Isso permite muitos cenários que exigem flexibilidade na forma como os dados são representados e tratados. Em particular, relatórios genéricos, análises e aplicativos de business intelligence exigem esse método de manipulação.
Consultando conjuntos de dados usando LINQ to DataSet
Antes de começar a consultar um DataSet objeto usando LINQ to DataSet, você deve preencher o DataSet. Há várias maneiras de carregar dados em um DataSet, como usar a classe DataAdapter ou o LINQ to SQL. Depois que os dados forem carregados em um DataSet objeto, você poderá começar a consultá-los. A formulação de consultas usando LINQ to DataSet é semelhante ao uso de Language-Integrated Query (LINQ) para outras fontes de dados habilitadas para LINQ. As consultas LINQ podem ser executadas em uma tabela única DataSet ou em mais de uma tabela usando os operadores de consulta padrão Join e GroupJoin.
Há suporte para consultas LINQ com relação a objetos tipados e não tipados DataSet. Se o esquema do DataSet for conhecido no momento do design do aplicativo, é recomendado usar um DataSet tipado. Em um DataSet tipado, as tabelas e linhas têm membros para cada uma das colunas, o que torna as consultas mais simples e legíveis.
Além dos operadores de consulta padrão implementados em System.Core.dll, o LINQ to DataSet adiciona várias extensões específicas DataSet para facilitar consultas sobre um conjunto de objetos DataRow. Essas DataSetextensões específicas incluem operadores para comparar sequências de linhas, bem como métodos que fornecem acesso aos valores de coluna de um DataRow.
Aplicativos de n camadas e LINQ to DataSet
Aplicativos de dados em N níveis são aplicativos centrados em dados que são separados em múltiplas camadas lógicas. Um aplicativo típico de N camadas inclui uma camada de apresentação, uma camada intermediária e uma camada de dados. Separar os componentes do aplicativo em camadas separadas aumenta a capacidade de manutenção e a escalabilidade do aplicativo. Para obter mais informações sobre aplicativos de dados de N camadas, consulte Trabalhar com conjuntos de dados em aplicativos de n camadas.
Em aplicativos de N camadas, o DataSet é geralmente usado na camada intermediária para armazenar em cache informações de uma aplicação web. A funcionalidade de consulta LINQ to DataSet é implementada por meio de métodos de extensão e estende o ADO.NET 2.0 DataSetexistente.