1 / 22

Lenguaje de Programación .Net LDP3501: Visual Studio .Net 2008

Lenguaje de Programación .Net LDP3501: Visual Studio .Net 2008 Manejo de Colecciones y Listas: Colecciones de Negocio, Introducción LINQ - LINQ to Objects. Colecciones de Negocio. Manejo grupal de nuestras propias clase. Funcionalidades grupales. Responsabilidades centralizadas.

gaetan
Download Presentation

Lenguaje de Programación .Net LDP3501: Visual Studio .Net 2008

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lenguaje de Programación .Net LDP3501: Visual Studio .Net 2008 Manejo de Colecciones y Listas: Colecciones de Negocio, Introducción LINQ - LINQ toObjects

  2. Colecciones de Negocio • Manejo grupal de nuestras propias clase. • Funcionalidades grupales. • Responsabilidades centralizadas. • Reutilización de los métodos de manejo de colecciones.

  3. Colecciones de Negocio Caso Ejemplo: • Factura compuesta de Líneas de Detalle. • Funciones necesarias: agregar, modificar y eliminar líneas. • Responsabilidad de manejo grupal.

  4. Colecciones de Negocio Caso Ejemplo: • Clase para coleccionar las Líneas de Detalle. • Funcionalidad centralizada para el manejo en grupo.

  5. Colecciones de Negocio Caso Ejemplo: • Herencia desde List<T>. • Seguridad de tipos.

  6. Colecciones de Negocio Objetivos de una colección de negocio: • Reutilización. • Extensión. • Especialización. • Encapsulación.

  7. Colecciones de Negocio Declaración publicclassLineaDetalleCollection: List<LineaDetalle> {…} Ejemplo de uso LineaDetalleCollectionLineas = new LineaDetalleCollection(); LineaDetallelinea = new LineaDetalle(); Lineas.Add(linea); Console.WriteLine( Lineas.Count); Lineas.Clear();

  8. Colecciones de Negocio Actividad 1: Colección de Negocio

  9. Colecciones de Negocio LINQ (LanguageIntegratedQuery) • Incluido en la versión 3.5 • Consulta de datos desde colecciones, bases de datos y documentos Xml. • Consulta, es una expresión para recuperar datos. • LINQ toObjects, LINQ to SQL y LINQ toXml

  10. Colecciones de Negocio Operación de Consulta LINQ

  11. Colecciones de Negocio Operación de Consulta LINQ /* Las 3 partes de una consulta LINQ */ // 1. Origen de Datos. int[] numeros = new int[5] { 1, 2, 3, 4, 5, }; // 2. Consulta. // consultaNumeros será una instancia de IEnumerable<int> varconsultaNumeros = fromnum in numeros where (num % 2) == 0 selectnum; // 3. Ejecución de la consulta. foreach (int numero in consultaNumeros) { Console.Write(numero); }

  12. Colecciones de Negocio El Origen de Datos. • Colecciones de Objetos y arreglos. • Bases de Datos. • Documentos Xml • Cualquier objeto que admite la interfaz genérica IEnumerable<T> // Creación de una fuente de datos desde un documentXml usingSystem.Xml.Linq; XElementcontacts = XElement.Load(@"c:\Contactos.xml"); // Creación de una fuente de datos desde una base de datos SQL Server. DataContextdb = new DataContext(@"c:\northwind\northwnd.mdf");

  13. Colecciones de Negocio La Consulta. • Especifica la información a recuperar. • Ordenamiento y agrupación opcional. • Estructurada por las cláusulas: from, where y select. • La expresión de consulta o variable de consulta NO ejecuta la consulta.

  14. Colecciones de Negocio La Consulta – Características • Se usan para consultar y transformar los datos de cualquier origen de datos compatible con LINQ. • Son fáciles de controlar porque utilizan muchas construcciones de lenguaje de C# familiares. • Todas las variables de una expresión de consulta tienen establecimiento inflexible de tipos. • Una consulta no se ejecuta hasta que se recorre en iteración la variable de consulta en una instrucción foreach.

  15. Colecciones de Negocio La Consulta – Características • En tiempo de compilación, las expresiones de consulta se convierten en llamadas a métodos de operador de consulta estándar de acuerdo con las reglas establecidas en la especificación de C#. • Como norma, cuando escriba consultas LINQ, se recomienda que siempre que sea posible se utilice la sintaxis de consulta y que utilice la sintaxis de método sólo cuando sea necesario. • Algunas operaciones de consulta, como Count o Max, no tienen ninguna cláusula de expresión de consulta equivalente y, por tanto, deben expresarse como una llamada a método.

  16. Colecciones de Negocio • Ejecución Diferida • Ejecución forzada foreach (int numero in consultaNumeros) { Console.Write(numero); } /* Consulta para obtener los números pares del arreglo */ var consultaNumeros = from num in numeros where (num % 2) == 0 select num; /* Obtiene el total de números pares en base a la consulta */ int total = consultaNumeros.Count();

  17. Colecciones de Negocio • Recuperación con ToList y ToArray /* Recuperación en una lista */ List<int> consultaLista = (from num in numeros where (num % 2) == 0 select num).ToList(); /* Recuperación en un arreglo */ var consultaArreglo = (from num in numeros where (num % 2) == 0 select num).ToArray();

  18. Colecciones de Negocio • Sintáxis de consulta y método LINQ int[] numeros = { 1, 2, 3, 4, 5 }; //Sintaxis de Consulta: IEnumerable<int> numQuery1 = from num in numeros where num % 2 == 0 orderby num select num; //Sintaxis de Método: IEnumerable<int> numQuery2 = numeros.Where(num => num % 2 == 0).OrderBy(n => n);

  19. Colecciones de Negocio • LINQ toObjects • Para colecciones IEnumerable e IEnumerable<T> y de usuario. • No hay proveedores intermedios. • Evitar el uso de bucles. • La sintaxis es más declarativa.

  20. Colecciones de Negocio • LINQ toObjects – Ventajas sobre foreach: • Son más concisas y legibles, sobre todo al filtrar varias condiciones. • Proporcionan funcionalidad eficaz de filtrado, ordenación y agrupación con código de aplicación mínimo. • Se pueden trasladar a otros orígenes de datos con pocas o ningunas modificaciones.

  21. Colecciones y Listas Actividad 2: Consulta LINQ en la colección de Negocio

More Related