La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Octavio Hernández Mentoring Team Leader Plain Concepts.

Presentaciones similares


Presentación del tema: "Octavio Hernández Mentoring Team Leader Plain Concepts."— Transcripción de la presentación:

1

2 Octavio Hernández Mentoring Team Leader Plain Concepts

3 Introducción a LINQ Proveedores predeterminados Extendiendo LINQ a nuevos tipos de datos y librerías Recomendaciones de uso LINQ después de.NET 3.5 Demos

4 Mecanismo uniforme y extensible para consultar fuentes de datos de diferentes tipos: las expresiones de consulta. Sintaxis basada en nuevas palabras reservadas contextuales. Semántica enchufable: los lenguajes no definen la semántica de las nuevas palabras reservadas, sino únicamente un conjunto de reglas para reescribir esas expresiones como cascadas de llamadas a métodos.

5 var delMadrid = from f in DatosFutbol.Futbolistas where f.CodigoClub == RMA" select new { f.Nombre, f.Edad }; var delMadrid = DatosFutbol.Futbolistas.Where(f => f.CodigoClub == RMA").Select(f => new { f.Nombre, f.Edad });

6 Fuentes de consultas Los datos provienen de cierta fuente, que implementa IEnumerable. Operadores de consulta estándar No todos los operadores tienen un reflejo en la sintaxis de los lenguajes. El patrón LINQ.

7 RestricciónWhere ProyecciónSelect, SelectMany OrdenaciónOrderBy, ThenBy AgrupaciónGroupBy EncuentrosJoin, GroupJoin CuantificadoresAny, All ParticiónTake, Skip, TakeWhile, SkipWhile ConjuntualesDistinct, Union, Intersect, Except Un elementoFirst, Last, Single, ElementAt AgregadosCount, Sum, Min, Max, Average ConversiónToArray, ToList, ToDictionary Conversión de elementosOfType, Cast

8 Composicionales, jerárquicas Anidamiento arbitrario. Posibilidad de aplicar operadores adicionales. Declarativas y no imperativas Diga qué usted desea obtener, no cómo. El cómo va por el proveedor. Ejecución diferida Las consultas se ejecutan solo a medida que sus resultados se solicitan.

9 Basados en IEnumerable Basados en IQueryable TecnologíaEnsambladoEspacio de nombres LINQ to Objects System.Core.dllSystem.Linq LINQ to XML System.Xml.Linq.dllSystem.Xml.Linq LINQ to DataSet System.Data.DataSetExtensions.dllSystem.Data LINQ to SQL System.Data.Linq.dllSystem.Data.Linq LINQ to Entities System.Data.Entity.dll System.Data.Objects y otros Silverlight 2.0.NET 3.5 CF.NET 3.5

10 { LINQ en profundidad } LINQ to Objects, XML, SQL, Entities

11 Objetos XML Proveedores LINQ C# 3.0VB 9.0Otros… BB.DD. LINQ to Objects LINQ to SQL LINQ to XML LINQ to Entities LINQ to DataSets Basados en IEnumerable Basados en IQueryable (el suyo) (el suyo)

12 Basados en IEnumerable Basados en IQueryable Basados en IEnumerable Basados en IQueryable InterfazIEnumerable IQueryable EjecuciónLocal, en memoriaUsualmente remota ImplementaciónIteradores Análisis de árboles de expresiones Proveedores LINQ to Objects LINQ to XML LINQ to DataSet LINQ to SQL LINQ to Entities Mis ejemplos LINQ to Pipes LoggingLINQ LINQ to TFS

13 Habilite sus API existentes para LINQ Específicamente para consultas en memoria. Cree métodos extensores que devuelvan un objeto IEnumerable. Desarrolle su propio proveedor de consultas Implemente IQueryable. Analice árboles de expresiones y traduzca nodos a código o a un lenguaje de consultas diferente.

14 { LINQ en profundidad } Proveedores a medida

15 Analice cuándo y cómo sus consultas se ejecutan Momento de ejecución. Ejecución local vs. remota. Lugar/capa de ejecución real. Mantenga las consultas dentro de ensamblados No pase expresiones de consulta entre capas.

16 Cuidado con los tipos anónimos! Planifique de antemano qué tipos son importantes. No abuse de las proyecciones. Aprenda: A escribir consultas con y sin la sintaxis. Las nuevas características de C# 3.0 Los detalles de la traducción de la sintaxis en llamadas a operadores y cómo funcionan éstos.

17 Parallel LINQ Pasa partes de una consulta a diferentes núcleos/procesadores. Proveedores de consultas de terceros: LINQ to Amazon, LDAP, SharePoint, NHibernate, MySql, Flickr, … y mucho más. LINQ 2.0

18 LINQ es un mecanismo uniforme y extensible para consultar fuentes de datos de diferentes tipos LINQ cambiará la forma en que escribimos código. Más declarativo Muchos menos bucles a la vista. Código más fácil de leer y mantener.

19 Centro de desarrollo C# de MSDN Mi libro, C# 3.0 y LINQ Revista dotNetManía

20 ¡Conócenos! Pregúntanos tus dudas ¡ Entra en el sorteo Y podrás ganar alguno de estos libros sobre.NET 3.5!

21 Plenaria Evolución de la Plataforma de Servicios Windows Server 2008 para desarrolladores Hands On Labs en Sala Mónaco y entrega de libro de Visual Studio 2008 y Demos en Zona de Exposición.

22 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

23

24 Sistemas Externos Capa de Datos Presentación Lógica de Negocio Modelo Conceptual (EDM) Entidades Relaciones Modelo de Objetos (Datasets/Objetos) Entidades Relaciones


Descargar ppt "Octavio Hernández Mentoring Team Leader Plain Concepts."

Presentaciones similares


Anuncios Google