LINQ (Language Integrated Query) allows querying over various data sources using a common syntax. The presentation covered how LINQ works, querying over in-memory objects and external data, the LINQ to SQL ORM, extending LINQ to any data source, and Parallel LINQ for multi-processor querying. Code samples were provided for attendees to see LINQ in action.
2. Sérgio Amendoeira Arquitecto de Soluções na Tecnocom Portugal. Responsável pelo desenvolvimento de diversas Arquitecturas de Referência para aplicações da Tecnocom em tecnologias Microsoft. Membro do Grupo de Arquitectura de Software (GASP) Speaker nos eventos TechDays (2005 e 2007, 2010).
3. Agenda Introdução LINQ - Como funciona? LINQ sobre objectos em memória LINQ sobre dados externos LINQ to Anything Parallel LINQ
19. LINQ – Como funciona? var entradasEmBares = from bar in listaBares where bar.Localidade == “Lisboa” select new { NomeBar = bar.Nome, bar.Entrada } Variável de Tipo Implícito Tipos Anónimos class anonymous { public string NomeBar { get; set; } public decimal Entrada { get; set; } }
20. LINQ – Como funciona? lista List<int> lista; var query = from elemento in lista select elemento foreach(int elemento in query) { Print(elemento) ; } for(int i=0;i<lista.Count; i++) { lista[i] = -lista[i] ; } foreach(int elemento in query) { Print(elemento) ; } 1 2 3 4 5 Delayed Execution Resultado? a) 1 2 3 4 5 -1 -2 -3 -4 -5 a) 1 2 3 4 5 -1 -2 -3 -4 -5 b) 1 2 3 4 5 1 2 3 4 5 c) 1 -2 3 -4 5 -1 2 -3 4 -5
21. LINQ (Objectos em Memória) Demo Código-fontedisponívelpara download: http://netponto.codeplex.com/releases/view/46929
27. LINQ to SQL – Como funciona? bar => bar.Localidade == ´Lisboa’ bar => bar.Nome Lambdas como Expression Trees == . ’Lisboa’ bar Localidade . bar Nome
28. LINQ to SQL – Como funciona? var query = from bar in contexto.Bars select bar query.ToList() Table<T> Expression Trees
29. LINQ to SQL – Como funciona? var query = from bar in contexto.Bars select bar query.ToList() Transformação efectuada aqui Table<T> T-SQL Query
30. LINQ to SQL Demo Código-fontedisponívelpara download: http://netponto.codeplex.com/releases/view/46929
68. Sérgio Amendoeira Arquitecto de Soluções na Tecnocom Portugal. Responsável pelo desenvolvimento de diversas Arquitecturas de Referência para aplicações da Tecnocom em tecnologias Microsoft. Membro do Grupo de Arquitectura de Software (GASP) Speaker nos eventos TechDays (2005 e 2007, 2010).
71. Próximas reuniões presenciais 15/05/2010 - Maio 19/06/2010 - Junho 26/06/2010 - Junho (Porto?) 10/07/2010 - Julho 14/08/2010 - AgostoReserva estes dias na agenda! :)