SQLSaturday #253 | Brasília 2013 - Entenda LINQ (Language-Integrated Query) e sua sintaxe na linguagem C#

1.682 visualizações

Publicada em

Esta foi a minha segunda palestra no evento SQLSaturday #253 | Brasília 2013 e foi realizada na trilha Acadêmico no dia 28/09/2013 (sábado), das 14h às 15h10. Eu apresentei as vantagens da integração do LINQ na linguagem C#, bem como em outras linguagens da plataforma .NET, e o poder fornecido na consulta de fontes de dados variadas: bancos de dados relacionais, como SQL Server, Oracle e DB2, arquivos XML e coleções de objetos .NET na memória, dentre outras. A grande vantagem está na capacidade de fornecer uma semântica similar à da linguagem SQL (Structured Query Language) utilizada em bancos de dados relacionais para a linguagem C#. Sendo assim, se houve um LINQ provider para uma fonte de dados, então você pode usar o poder do LINQ para fazer consultas com uma semântica similar à do SQL.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.682
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1.332
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

SQLSaturday #253 | Brasília 2013 - Entenda LINQ (Language-Integrated Query) e sua sintaxe na linguagem C#

  1. 1. Entenda LINQ (Language-Integrated Query) e sua sintaxe na linguagem C# Rogério Moraes de Carvalho VITA Informática http://rogeriomc.wordpress.com @rogeriomc
  2. 2. Agenda  O que é LINQ?  Entity Framework e LINQ para Entidades  LINQ para XML  LINQ para Objetos  Demonstração  Recursos
  3. 3. O que é LINQ? Objetos <agenda> <contato> <nome>. . . </nome> <email> . . . </email> <fone/> . . . </fone> <contato/> . . . </agenda> XML .NET LINQ (Language INtegrated Query) C# 3.0 ou superior VB 9.0 ou superior Outras linguagens… Bancos de dados relacionais LINQ para Objetos LINQ para SQL LINQ para XML LINQ para Entidades LINQ para DataSets
  4. 4. Entity Framework e LINQ para Entidades Aplicação Banco de dados Entity Framework from c in db.Fornecedores where c.UF == "DF" select s.NomeEmpresa Consulta LINQ db: instância de DbContext Consulta SQL SELECT NomeEmpresa FROM Fornecedores WHERE UF = 'DF' Registros Entidades db.SaveChanges() DML ou Stored Procedures db.Fornecedores.Add(f1); f2.UF = "SP"; db.Fornecedores.Remove(f3); INSERT INTO Fornecedores … UPDATE Fornecedores … DELETE FROM Fornecedores …
  5. 5. LINQ para XML  O que é o LINQ para XML?  Interface de programação XML na memória  Integrada com .NET Language Integrated Query (LINQ)  XML Document Object Model vs. LINQ para XML  Também carrega o documento XML na memória  Porém, LINQ para XML tem uma sintaxe muito mais simples  XML DOM é um padrão W3C  XmlReader/XmlWriter vs. LINQ para XML vs.  Lê/gera XML rápido, somente para frente e sem cache
  6. 6. LINQ para Objetos  O que é o LINQ para Objetos?  API que permite o uso de consultas LINQ em coleções  Do tipo IEnumerable ou IEnumerable<T>  Nova abordagem para consulta a coleções  No modo antigo era preciso escrever laços complexos  Mais conciso e legível  Fornece poderosas capacidades de filtragem, ordenação e agrupamento com um mínimo de código  Facilmente portado para outras fontes de dados
  7. 7. Demonstração Fontes de dados  LINQ para entidades  Entity Framework  LINQ para XML  LINQ para Objetos Operações com LINQ  Projeção  Filtragem  Ordenação  Junção  Agrupamento  Agregação
  8. 8. Recursos  Microsoft Developer Network  101 LINQ Samples  MSDN Library  LINQ (Language-Integrated Query)  LINQ to XML  LINQ to Objects  Data Developer Center  Entity Framework

×