O Comando de Consulta LINQ
Por: Telma24 • 16/9/2018 • Trabalho acadêmico • 1.254 Palavras (6 Páginas) • 240 Visualizações
INSTITUTO DE ENSINO SUPERIOR DO ESPÍRITO SANTO
FACULDADE MULTIVIX CACHOEIRO DE ITAPEMIRIM
CURSO DE SISTEMAS DE INFORMAÇÃO
EDIVIANE MELLO
FRANCISCO SANDES
TELMA CASSIA LANDI
LINQ
CACHOEIRO DE ITAPEMIRIM
2018
EDIVIANE MELLO
FRANCISCO SANDES
TELMA CASSIA LANDI
LINQ
Trabalho apresentado à disciplina de Linguagem de Programação III, na Faculdade Multivix, como requisito parcial de avaliação.
Prof. André Bessa
CACHOEIRO DE ITAPEMIRIM
2018
SUMÁRIO
1. INTRODUÇÃO4
2. LINQ5
2.1 Conceitos5
2.2 LINQ to Objects6
2.3 LINQ to Dataset6
2.4 LINQ to SQL6
2.5 LINQ to Entities7
2.6 LINQ to XML7
2.7 Código8
3. CONCLUSÃO9
4. REFERÊNCIAS BIBLIOGRÁFICAS10
1. INTRODUÇÃO
O LINQ (consulta integrada à linguagem) é uma inovação inserida no .NET Framework versão 3.5 que preenche a lacuna entre o mundo dos objetos e o mundo dos dados. Os recursos inseridos no Visual Studio 2008 permitiu que o mesmo pudesse utilizar os meios de consultas excelentes presentes nas consultas SQL para linguagem C# e Visual Basic.
Seu objetivo é unificar o modelo de acesso à dados armazenados como um banco de dados ou arquivos XML. Sua sintaxe é parecida com a sintaxe da linguagem SQL, utilizada na comunicação com um sistema gerenciador de banco de dados. Este tipo de programação é chamado de programação imperativa, pois, especifica ações que devem ser executadas para produzir determinado resultado. Ao utilizar o LINQ o desenvolvedor deve especificar apenas condições que os itens de determinada coleção devem satisfazer para ser escolhida.
2. LINQ
2.1 Conceitos
LINQ (Language Integrated Query - Linguagem Integrada de Consulta) é definida por um conjunto de extensões padronizado de consulta comum, introduzido pela Microsoft no .NET Framework 3.5 e nas novas versões das linguagens Visual C# e Visual Basic, que admite que operações de transição, de filtragem e de importância sejam demonstradas de forma direta, ou seja, agrega o modelo de acesso à dados armazenados na memória principal de um computador ou em um conjunto de dados externo como um banco de dados ou arquivos XML (Lima, 2010; Magri, 2012).
O LINQ foi criado originalmente para consultar objetos armazenados em memória principal. Eventualmente evoluiu com implementações exclusivas para poder acessar dados armazenados em qualquer tipo de memória, são eles: LINQ to Objects, LINQ to Dataset, LINQ to SQL, LINQ to Entities, LINQ to XML. Desta forma o LINQ possui característica de grande dimensão proporcionando suporte ao desenvolvedor em tudo que se inclui a consulta de dados (Magri, 2012; Marguerie, Eichert, Wooley, 2008).
Na figura 1.1 tem-se a arquitetura geral do LINQ.
Figura 1.1 – Arquitetura Geral do LINQ
[pic 1]
Fonte: https://docs.microsoft.com/pt-br/dotnet/framework/data/adonet/linq-and-ado-net
Como já citado anteriormente o LINQ fornece alguns recursos para suportar o LINQ nas linguagens. Esses recursos são os seguintes.
2.2 LINQ to Objects
LINQ to Objects é considerado um método que possibilita criar consultas para a modificação de coleções de objetos, fazendo com que os desenvolvedores não necessitem de fazer a utilização de loops complexos, com uma lógica contendo estruturas condicionais e de repetição, evitando também a declaração de uma sequência de variáveis com o intuito de realizar determinado objetivo. As consultas escritas em LINQ para objetos podem ser aplicadas em qualquer coleção que obtem as interfaces IEnumerable e / ou IEnumerable
2.3 LINQ to Dataset
Com o LINQ to Dataset a busca de dados em objetos se torna muito mais rápida e fácil. Isso é possível pois ele simplifica as consultas, concedendo ao desenvolvedor escrever consultas de linguagens de programação em si, ao invés de uma linguagem separada. Sua funcionalidade é exposta por meios de métodos de extensão nas classes DataRowExtensions e DataTableExtensions (Microsoft, 2017).
O LINQ to Dataset torna-se possível a realização de queries de acordo com os dados inclusos em Datasets. Um Dataset muitas das vezes é propício através de classes de acesso a dados do ADO.NET, formando em memória estruturas (tabelas ou visões) efetivas em uma base de dados (Groffe, 2011).
2.4 LINQ to SQL
“LINQ to SQL é um componente do .NET Framework versão 3.5 que fornece uma infraestrutura de tempo de execução para gerenciar dados relacionais como objetos” (Microsoft, 2017)
O Linq to SQL aceita a prática de consultas em base de dados, mas para efeito disso faz se necessário o uso de classes constituídas a partir de um modelo visual fornecido pelo Visual Studio. Com essas especialidades, essa estrutura extingue a obrigação de escrita de strings com comandos SQL, prevalecendo-se com isso do suporte que o Visual Studio proporciona para o uso de LINQ através da elaboração de uma aplicação. A plataforma .NET proporciona suporte proveniente para o acesso a SQL por meio de LINQ, sendo que outros fornecedores do mesmo modo dispõem recursos restritas para o uso de outros tipos de bancos de dados (Groffe, 2011; Microsoft, 2017).
2.5 LINQ to Entities
O recurso LINQ to Entities é o suporte para a uso do Entity Framework, que é um instrumento de estruturação objeto-relacional (ORM) que a plataforma .NET concede para a aplicação de bancos de dados. Por meio do Entity Framework, construções de dados são constituintes pela forma de classes, sendo que consultas a um banco de dados são feitas através de queries escritas em LINQ (Groffe, 2011).
As consultas no Entity Franework são exibidas por consultas de uma árvore de comando, que são efetuadas no contexto de objetos. O LINQ Entites transforma consultas do LINQ para consultas da arvore de comandos, realiza as consultas no Entity Framework e volta com objetos que podem ser utilizados tanto pelo entity Framework, quanto pelo LINQ (Microsoft, 2017).
...