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

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

Post on 24-May-2015

1.222 views

Category:

Technology

1 download

Embed Size (px)

DESCRIPTION

Esta foi a minha segunda palestra no evento SQLSaturday #253 | Braslia 2013 e foi realizada na trilha Acadmico no dia 28/09/2013 (sbado), das 14h s 15h10. Eu apresentei as vantagens da integrao 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 colees de objetos .NET na memria, dentre outras. A grande vantagem est na capacidade de fornecer uma semntica 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, ento voc pode usar o poder do LINQ para fazer consultas com uma semntica similar do SQL.

TRANSCRIPT

<ul><li> 1. Entenda LINQ (Language-Integrated Query) e sua sintaxe na linguagem C# Rogrio Moraes de Carvalho VITA Informtica http://rogeriomc.wordpress.com @rogeriomc </li></ul> <p> 2. Agenda O que LINQ? Entity Framework e LINQ para Entidades LINQ para XML LINQ para Objetos Demonstrao Recursos 3. O que LINQ? Objetos . . . . . . . . . . . . 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. Entity Framework e LINQ para Entidades Aplicao Banco de dados Entity Framework from c in db.Fornecedores where c.UF == "DF" select s.NomeEmpresa Consulta LINQ db: instncia 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. LINQ para XML O que o LINQ para XML? Interface de programao XML na memria Integrada com .NET Language Integrated Query (LINQ) XML Document Object Model vs. LINQ para XML Tambm carrega o documento XML na memria Porm, LINQ para XML tem uma sintaxe muito mais simples XML DOM um padro W3C XmlReader/XmlWriter vs. LINQ para XML vs. L/gera XML rpido, somente para frente e sem cache 6. LINQ para Objetos O que o LINQ para Objetos? API que permite o uso de consultas LINQ em colees Do tipo IEnumerable ou IEnumerable Nova abordagem para consulta a colees No modo antigo era preciso escrever laos complexos Mais conciso e legvel Fornece poderosas capacidades de filtragem, ordenao e agrupamento com um mnimo de cdigo Facilmente portado para outras fontes de dados 7. Demonstrao Fontes de dados LINQ para entidades Entity Framework LINQ para XML LINQ para Objetos Operaes com LINQ Projeo Filtragem Ordenao Juno Agrupamento Agregao 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 </p>