Detalle del libro
Ver Índice
Prólogos
Introducción
Quién debería leer este libro
Cómo se organiza el libro
Herramientas utilizadas
Convenciones
Código fuente
Sobre la ilustración de la portada
Parte I. Para comenzar
1. Presentación de LINQ
1.1. ¿Qué es LINQ?
1.1.1. Visión general
1.1.2. LINQ como un conjunto de herramientas
1.1.3. LINQ como extensiones de lenguaje
1.2. ¿Por qué necesitamos LINQ?
1.2.1. Problemas comunes
1.2.2. Abordar un desajuste de paradigma
¿Qué es este desajuste de impedancia del que todo el mundo habla?
Mapeado relacional de objetos
Mapeado XML de objeto
1.2.3. LINQ al rescate
1.3. Objetivos de diseño y orígenes de LINQ
1.3.1. Los objetivos del proyecto LINQ
1.3.2. Un poco de historia
C? (o el lenguaje C-Omega)
ObjectSpaces
Implementación XQuery
1.4. Primeros pasos con LINQ to Objects: hacer consultas sobre colecciones en memoria
1.4.1. Qué necesita para empezar
Compilador y soporte .NET Framework y software requerido
Consideraciones de lenguaje
1.4.2. Hola LINQ to Objects
1.5. Primeros pasos con LINQ to XML: hacer consultas sobre documentos XML
1.5.1. Por qué necesitamos LINQ to XML
1.5.2. Hola LINQ to XML
1.6. Primeros pasos con LINQ to SQL: consultar bases de datos relacionales
1.6.1. Visión general de las características LINQ to SQL
1.6.2. Hello LINQ to SQL
Clases de entidad
El DataContext
1.6.3. Examinar más detalladamente LINQ to SQL
1.7. Resumen
2. Mejoras en el lenguaje C# y VB.NET
2.1. Descubrir las nuevas mejoras del lenguaje
2.1.1. Generar un listado de procesos en curso
2.1.2. Agrupar resultados en una clase
2.2. Variables locales implícitamente tipadas
2.2.1. Sintaxis
2.2.2. Mejorar nuestro ejemplo utilizando variables locales implícitamente tipadas
2.3. Inicializadores de objeto y colección
2.3.1. La necesidad de inicializadores de objeto
2.3.2. Inicializadores de colección
2.3.3. Mejorar nuestro ejemplo utilizando un inicializador de objeto
2.4. Expresiones lambda
2.4.1. Un repaso de los delegados
2.4.2. Métodos anónimos
2.4.3. Presentar las expresiones lambda
Comparar expresiones lambda con métodos anónimos
Cómo expresar expresiones lambda
2.5. Métodos de extensión
2.5.1. Crear un método de extensión de ejemplo
Declarar métodos de extensión en C#
Declarar métodos de extensión en VB.NET
2.5.2. Más ejemplos utilizando operadores estándar de consulta de LINQ
OrderByDescending
Take
Sum
2.5.3. Métodos de extensión en acción en nuestro ejemplo
2.5.4. Advertencias
2.6. Tipos anónimos
2.6.1. Utilizar tipos anónimos para agrupar datos en un objeto
2.6.2. Tipos sin nombres, pero tipos, no obstante
2.6.3. Mejorar nuestro ejemplo utilizando tipos anónimos
2.6.4. Limitaciones
Tipos anónimos con claves
2.7. Resumen
3. Bloques de construcción LINQ
3.1. Cómo LINQ amplía .NET
3.1.1. Repaso de las extensiones de lenguaje
3.1.2. Los elementos clave de los fundamentos LINQ
3.2. Presentar las secuencias
3.2.1. IEnumerable
3.2.3. Ejecución diferida de consulta
Demostrar ejecución diferida de consulta
Reutilizar una consulta para obtener resultados diferentes
Forzar ejecución inmediata de consulta
3.3. Presentar los operadores de consulta
3.3.1. ¿Qué es un operador de consulta?
3.3.2. Los operadores de consulta estándar
3.4. Presentar las expresiones de consulta
3.4.1. ¿Qué es una expresión de consulta?
3.4.2. Escribir expresiones de consulta
Sintaxis C#
Sintaxis VB.NET
3.4.3. Cómo se relacionan los operadores de consulta estándar con expresiones de consulta
3.4.4. Limitaciones
3.5. Presentar los árboles de expresión
3.5.1. Valor de retorno de las expresiones lambda
3.5.2. ¿Qué son los árboles de expresión?
3.5.3. IQueryable, ejecución de consulta diferida de nuevo
3.6. Las DLL y espacios de nombre LINQ
3.7. Resumen
Parte II. Consultar objetos en memoria
4. Familiarizarse con LINQ to Objects
4.1. Presentar nuestro ejemplo
4.1.1. Objetivos
4.1.2. Características
4.1.3. Las entidades de negocio
4.1.4. Esquema de base de datos
4.1.5. Datos de ejemplo
4.2. Utilizar LINQ con colecciones en memoria
4.2.1. ¿Qué podemos consultar?
Tablas
Listas genéricas
Diccionarios genéricos
Cadena
Otras colecciones
4.2.2. Operaciones soportadas
4.3. Utilizar LINQ con ASP.NET y Windows Forms
4.3.1. Vinculación de datos para aplicaciones Web
Paso 0: Crear un sitio Web ASP.NET
Paso 1: Crear nuestra primera página ASP.NET utilizando LINQ
Paso 2: Utilizar colecciones enriquecidas
4.3.2. Vincular datos para aplicaciones Windows Forms
Paso 0: Crear una aplicación Windows Forms
Paso 1: Crear nuestro primer formulario utilizando LINQ
Paso 2: Utilizar colecciones más ricas
4.4. Centrarse en los principales operadores de consulta estándar
4.4.1. Where, el operador de restricción
4.4.2. Utilizar operadores de proyección
Select
SelectMany
Seleccionar índices
4.4.3. Utilizar Distinct
4.4.4. Utilizar operadores de conversión
4.4.5. Utilizar operadores de acumulación (agregados)
4.5. Crear vistas en un gráfico de objeto en memoria
4.5.1. Ordenar
4.5.2. Consultas anidadas
4.5.3. Agrupar
4.5.4. Utilizar encuentros
Encuentro agrupado
Encuentro interno
Hoy en día, las tecnologías de programación orientada a objetos se han convertido en una de las formas más comunes de programar en el desarrollo de proyectos de software. Ahora los programadores están familiarizados con conceptos tales como clases, objetos y métodos.
El siguiente gran reto consiste en integrar la información no definida de forma nativa y reducir la complejidad del acceso a la misma, utilizando la tecnología orientada a objetos. Las dos fuentes de información no orientadas a objetos más conocidas son las bases de datos relacionales y XML.
Es en este contexto donde un proyecto como LINQ (Lenguage Integrated Query) adquiere mayor relevancia al aportar un enfoque más general, añadiendo a .NET Framework facilidades de consulta de propósito general aplicables a todas las fuentes de información, y no solo a los datos relacionales o XML.
Escrito para desarrolladores C# y VB de todos los niveles, este libro resulta esencial para dominar la tecnología Microsoft .NET LINQ y el conjunto de herramientas que lo acompaña.
Explorará las características clave del lenguaje como expresiones lambda, métodos de extensión y tipos de datos anónimos que hacen posible LINQ. Dominará los operadores estándar de consulta y conocerá las principales técnicas para consultar objetos, bases de datos relacionales y XML.