Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O DataSet é um dos componentes mais utilizados do ADO.NET. É um elemento-chave do modelo de programação desconectado no qual ADO.NET se baseia e permite que você armazene explicitamente em cache dados de diferentes fontes de dados. Para a camada de apresentação, o DataSet é totalmente integrado com controles GUI para vinculação de dados. Para a camada intermediária, ele fornece um cache que preserva a forma relacional dos dados e inclui serviços de navegação rápida e simples de consulta e hierarquia. Uma técnica comum usada para reduzir o número de solicitações em um banco de dados é usar o DataSet for caching na camada intermediária. Por exemplo, considere um aplicativo Web ASP.NET orientado por dados. Muitas vezes, uma parte significativa dos dados do aplicativo não muda com freqüê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 aspeto útil do DataSet é que ele permite que um aplicativo traga subconjuntos de dados de uma ou mais fontes de dados para o espaço do aplicativo. O aplicativo pode então 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 filtrar e classificar, e os GetChildRows métodos e GetParentRow podem ser usados para navegação na hierarquia. Para qualquer coisa mais complexa, no entanto, o desenvolvedor deve escrever uma consulta personalizada. Isso pode resultar em aplicativos com desempenho insatisfatório e difícil de manter.
LINQ para DataSet facilita e acelera a consulta sobre dados armazenados em cache num objeto DataSet. Essas consultas são expressas na própria linguagem de programação, em vez de como literais de strings incorporados no código do programa. 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, porque o IDE do Visual Studio fornece verificação de sintaxe em tempo de compilação, digitação estática e suporte ao IntelliSense para LINQ. LINQ to DataSet também pode ser usado para consultar dados que foram consolidados a partir 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, aplicações genéricas de relatórios, análises e inteligência de negócios requerem este método de manipulação.
Consultando DataSets Usando LINQ to DataSet
Antes de começar a consultar um DataSet objeto usando LINQ to DataSet, você deve preencher o DataSetarquivo . Há várias maneiras de carregar dados em um DataSet, como usar a DataAdapter classe ou LINQ to SQL. Depois que os dados forem carregados em um DataSet objeto, você poderá começar a consultá-lo. Formular consultas usando LINQ to DataSet é semelhante ao uso de Language-Integrated Query (LINQ) em outras fontes de dados habilitadas para LINQ. As consultas LINQ podem ser executadas em uma única tabela em um DataSet ou em mais de uma tabela usando os operadores padrão de consulta Join e GroupJoin.
As consultas LINQ são suportadas em objetos tipados e não tipados DataSet . Se o esquema do DataSet for conhecido no momento do design da aplicação, recomenda-se um DataSet tipificado. Em um DataSet tipado, as tabelas e linhas têm membros tipados para cada uma das colunas, o que torna as consultas mais simples e mais legíveis.
Além dos operadores de consulta padrão implementados no System.Core.dll, o LINQ to DataSet adiciona várias DataSetextensões específicas que facilitam a consulta sobre um conjunto de DataRow objetos. Essas DataSet-extensõ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.
Aplicações de N camadas e LINQ to DataSet
Aplicações de dados em N camadas são aplicações centradas em dados que são separadas em várias camadas lógicas (ou níveis). 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 é frequentemente usado na camada intermediária para armazenar em cache informações para um aplicativo 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.