SlideShare uma empresa Scribd logo
1 de 12
Language Integrated Query
 Considerações:

 1   Incluído na versão 3.5


 2   Linguagem de consulta usada Coleções de Registros (IENUMERABLE)


 3   Podemos Selecionar, Filtrar e Ordenar registros em coleções


 4   Objetivo principal é fornecer suporte para consultas (Código .NET)


 5   A síntaxe do LINQ foi inspirada no TSQL (SQL Server)




                                                                          2
Por que usar LINQ?
 Considerações:

 1   Reduz a complexidade em Ordenações e Filtros (DataView, ForEach)


 2   Sintaxe unificada para manipular qualquer fonte de dados


 3   Suporte ao IntelliSense e Debugging




                                                                        3
Antes e Depois do LINQ

List<TB_LINGUAGEM> lstLinguagens = new List<TB_LINGUAGEM>()
{
    new TB_LINGUAGEM { Nome = “Visual C#” },
    new TB_LINGUAGEM { Nome = “VB.NET” }          Antes do LINQ
};

List<String> Linguagens = new List<String>();
foreach (TB_LINGUAGEM Linguagem in lstLinguagens)
{
    NomeLinguagens.Add(Linguagem.Nome);
}                                                        Depois do LINQ


IEnumerable<String> Linguagens = lstLinguagens.Select(x=> Nome);




                                                                      4
Arquitetura do LINQ




OBS: LINQ to SQL é uma solução OR/M (Acesso a Dados) e os outros tipos de
LINQ (Objects, Datasets, Entities, XML) são linguagens de consulta


                                                                            5
Maneiras de Trabalhar com LINQ


        Operadores de Consulta



         Métodos de Extensão




                                 6
Demonstração
1   Criando a Classe (App_Code -> Cliente)


2   Conhecendo o LINQ to Objects


3   Criando o XML (LINQTOXML -> Arquivo)


4   Conhecendo o LINQ to XML


5   Conhecendo o LINQ to DATASET


6   Site 101 Exemplos de Linq


7   Conhecendo o LinqPad


                                             7
LINQ TO SQL
 Considerações:

 1   É um componente da tecnologia ADO.NET


 2   Abstrai a camada de Dados e Acesso a Dados


 3   Funciona apenas com o SGBD (SQL SERVER)


 4   Cria um DataContext (BASE) com Classes (TABELAS)




OBS: O LINQ to SQL será descontinuado


                                                        8
Demonstração
1   Criando um contexto com o LINQ TO SQL (Tabelas e Procedures)


2   Conhecendo os arquivos *.dbml.layout e *.designer.vb


3   Carregando o grid pela classe do contexto


4   Operadores de consulta LINQ (SELECT, WHERE, ORDER)


5   Métodos de extensão LINQ (SELECT, WHERE, ORDER, MIN, MAX, SUM, DISTINCT, COUNT, FIRST, LAST)




6   Conhecendo o controle LinqDatasource e ListView



                                                                                                   9
LINQ TO ENTITIES
 Considerações:

 1   É um componente da tecnologia ADO.NET


 2   Abstrai a camada de Dados e Acesso a Dados


 3   Funciona com qualquer SGBD


 4   Cria um DataModel (BASE) com Classes (TABELAS)




                                                      10
Demonstração
1   Criando um contexto com o ENTITY FRAMEWORK


2   Conhecendo o *.EDMX (XML)


3   Carregando o grid pela classe do contexto


4   Operadores de consulta LINQ (SELECT, WHERE, ORDER)


5   Métodos de extensão LINQ (SELECT, WHERE, ORDER, MIN, MAX, SUM, DISTINCT, COUNT, FIRST, LAST)




6   Conhecendo o controle EntityDatasource e ListView



                                                                                                   11
LINQ: Uma introdução à linguagem de consulta integrada

Mais conteúdo relacionado

Semelhante a LINQ: Uma introdução à linguagem de consulta integrada

Servidor de autenticação centralizada com OpenLDAP
Servidor de autenticação centralizada com OpenLDAPServidor de autenticação centralizada com OpenLDAP
Servidor de autenticação centralizada com OpenLDAPThiago Finardi
 
Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago FinardiServidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago FinardiTchelinux
 
Apresentação em Projeto de Sistemas – Entity Framework
Apresentação em Projeto de Sistemas – Entity FrameworkApresentação em Projeto de Sistemas – Entity Framework
Apresentação em Projeto de Sistemas – Entity FrameworkMatteus Barbosa
 
PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfArleiEvaristo
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdfQuitriaSilva550
 
Brevíssima introdução a bancos de dados relacionais
Brevíssima introdução a bancos de dados relacionaisBrevíssima introdução a bancos de dados relacionais
Brevíssima introdução a bancos de dados relacionaisLeonardo Pacheco
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com PythonLuiz Aldabalde
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com PythonPythOnRio
 
Framework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da DissertacaoFramework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da DissertacaoMarcius Brandão
 
Acessando Dados com ADO .NET
Acessando Dados com ADO .NETAcessando Dados com ADO .NET
Acessando Dados com ADO .NETOrlando Junior
 
Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...
Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...
Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...Edisio Nascimento
 

Semelhante a LINQ: Uma introdução à linguagem de consulta integrada (20)

ADO.NET
ADO.NETADO.NET
ADO.NET
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Apostila de-vb-net
Apostila de-vb-netApostila de-vb-net
Apostila de-vb-net
 
Banco de Dados no Visual Studio
Banco de Dados no Visual StudioBanco de Dados no Visual Studio
Banco de Dados no Visual Studio
 
Introdução ao BD Postgre
Introdução ao BD PostgreIntrodução ao BD Postgre
Introdução ao BD Postgre
 
Servidor de autenticação centralizada com OpenLDAP
Servidor de autenticação centralizada com OpenLDAPServidor de autenticação centralizada com OpenLDAP
Servidor de autenticação centralizada com OpenLDAP
 
Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago FinardiServidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
Servidor de Autenticação Centralizada com OpenLDAP - Thiago Finardi
 
Apresentação em Projeto de Sistemas – Entity Framework
Apresentação em Projeto de Sistemas – Entity FrameworkApresentação em Projeto de Sistemas – Entity Framework
Apresentação em Projeto de Sistemas – Entity Framework
 
PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdf
 
2006 - ADONET.ppt
2006 - ADONET.ppt2006 - ADONET.ppt
2006 - ADONET.ppt
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
 
Conhecendo o Visual Studio 11
Conhecendo o Visual Studio 11Conhecendo o Visual Studio 11
Conhecendo o Visual Studio 11
 
Brevíssima introdução a bancos de dados relacionais
Brevíssima introdução a bancos de dados relacionaisBrevíssima introdução a bancos de dados relacionais
Brevíssima introdução a bancos de dados relacionais
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com Python
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com Python
 
J530 3 jndi
J530 3 jndiJ530 3 jndi
J530 3 jndi
 
Framework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da DissertacaoFramework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da Dissertacao
 
Acessando Dados com ADO .NET
Acessando Dados com ADO .NETAcessando Dados com ADO .NET
Acessando Dados com ADO .NET
 
Manual SQL
Manual SQLManual SQL
Manual SQL
 
Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...
Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...
Silo.tips utilizando os-componentes-da-paleta-dbexpress-para-acesso-ao-banco-...
 

Mais de Leonardo Lourenço Silva (20)

Introdução a Plataforma .NET
Introdução a Plataforma .NETIntrodução a Plataforma .NET
Introdução a Plataforma .NET
 
Resources no XAML
Resources no XAMLResources no XAML
Resources no XAML
 
Como se tornar um desenvolvedor faixa preta
Como se tornar um desenvolvedor faixa pretaComo se tornar um desenvolvedor faixa preta
Como se tornar um desenvolvedor faixa preta
 
Introdução ao WPF
Introdução ao WPFIntrodução ao WPF
Introdução ao WPF
 
Programação em Camadas - Iniciantes
Programação em Camadas - IniciantesProgramação em Camadas - Iniciantes
Programação em Camadas - Iniciantes
 
Visual F# 3.0 - Constantes, Variáveis e Classes
Visual F# 3.0 - Constantes, Variáveis e ClassesVisual F# 3.0 - Constantes, Variáveis e Classes
Visual F# 3.0 - Constantes, Variáveis e Classes
 
Introdução ao ORM
Introdução ao ORMIntrodução ao ORM
Introdução ao ORM
 
Expression Blend 5.0
Expression Blend 5.0Expression Blend 5.0
Expression Blend 5.0
 
1° Madrugada de Testes
1° Madrugada de Testes1° Madrugada de Testes
1° Madrugada de Testes
 
Mudança de Vida
Mudança de VidaMudança de Vida
Mudança de Vida
 
Princípio DRY
Princípio DRYPrincípio DRY
Princípio DRY
 
Evolução ASP.NET
Evolução ASP.NETEvolução ASP.NET
Evolução ASP.NET
 
Conhecendo o Windows 8
Conhecendo o Windows 8Conhecendo o Windows 8
Conhecendo o Windows 8
 
Introdução a Plataforma .NET 4.0
Introdução a Plataforma .NET 4.0Introdução a Plataforma .NET 4.0
Introdução a Plataforma .NET 4.0
 
ASP.NET Profile
ASP.NET ProfileASP.NET Profile
ASP.NET Profile
 
ASP.NET AJAX
ASP.NET AJAXASP.NET AJAX
ASP.NET AJAX
 
WCF
WCFWCF
WCF
 
Visual C# - Parâmetros Opcionais e Nomeados
Visual C# - Parâmetros Opcionais e NomeadosVisual C# - Parâmetros Opcionais e Nomeados
Visual C# - Parâmetros Opcionais e Nomeados
 
.NET - Interfaces
.NET - Interfaces.NET - Interfaces
.NET - Interfaces
 
SilverLight
SilverLightSilverLight
SilverLight
 

LINQ: Uma introdução à linguagem de consulta integrada

  • 1.
  • 2. Language Integrated Query Considerações: 1 Incluído na versão 3.5 2 Linguagem de consulta usada Coleções de Registros (IENUMERABLE) 3 Podemos Selecionar, Filtrar e Ordenar registros em coleções 4 Objetivo principal é fornecer suporte para consultas (Código .NET) 5 A síntaxe do LINQ foi inspirada no TSQL (SQL Server) 2
  • 3. Por que usar LINQ? Considerações: 1 Reduz a complexidade em Ordenações e Filtros (DataView, ForEach) 2 Sintaxe unificada para manipular qualquer fonte de dados 3 Suporte ao IntelliSense e Debugging 3
  • 4. Antes e Depois do LINQ List<TB_LINGUAGEM> lstLinguagens = new List<TB_LINGUAGEM>() { new TB_LINGUAGEM { Nome = “Visual C#” }, new TB_LINGUAGEM { Nome = “VB.NET” } Antes do LINQ }; List<String> Linguagens = new List<String>(); foreach (TB_LINGUAGEM Linguagem in lstLinguagens) { NomeLinguagens.Add(Linguagem.Nome); } Depois do LINQ IEnumerable<String> Linguagens = lstLinguagens.Select(x=> Nome); 4
  • 5. Arquitetura do LINQ OBS: LINQ to SQL é uma solução OR/M (Acesso a Dados) e os outros tipos de LINQ (Objects, Datasets, Entities, XML) são linguagens de consulta 5
  • 6. Maneiras de Trabalhar com LINQ Operadores de Consulta Métodos de Extensão 6
  • 7. Demonstração 1 Criando a Classe (App_Code -> Cliente) 2 Conhecendo o LINQ to Objects 3 Criando o XML (LINQTOXML -> Arquivo) 4 Conhecendo o LINQ to XML 5 Conhecendo o LINQ to DATASET 6 Site 101 Exemplos de Linq 7 Conhecendo o LinqPad 7
  • 8. LINQ TO SQL Considerações: 1 É um componente da tecnologia ADO.NET 2 Abstrai a camada de Dados e Acesso a Dados 3 Funciona apenas com o SGBD (SQL SERVER) 4 Cria um DataContext (BASE) com Classes (TABELAS) OBS: O LINQ to SQL será descontinuado 8
  • 9. Demonstração 1 Criando um contexto com o LINQ TO SQL (Tabelas e Procedures) 2 Conhecendo os arquivos *.dbml.layout e *.designer.vb 3 Carregando o grid pela classe do contexto 4 Operadores de consulta LINQ (SELECT, WHERE, ORDER) 5 Métodos de extensão LINQ (SELECT, WHERE, ORDER, MIN, MAX, SUM, DISTINCT, COUNT, FIRST, LAST) 6 Conhecendo o controle LinqDatasource e ListView 9
  • 10. LINQ TO ENTITIES Considerações: 1 É um componente da tecnologia ADO.NET 2 Abstrai a camada de Dados e Acesso a Dados 3 Funciona com qualquer SGBD 4 Cria um DataModel (BASE) com Classes (TABELAS) 10
  • 11. Demonstração 1 Criando um contexto com o ENTITY FRAMEWORK 2 Conhecendo o *.EDMX (XML) 3 Carregando o grid pela classe do contexto 4 Operadores de consulta LINQ (SELECT, WHERE, ORDER) 5 Métodos de extensão LINQ (SELECT, WHERE, ORDER, MIN, MAX, SUM, DISTINCT, COUNT, FIRST, LAST) 6 Conhecendo o controle EntityDatasource e ListView 11