
$ 2,995.00
FICHA TECNICA:
- PAGINAS: 376
- AUTOR: Unai Zorrilla Castro (Microsoft MVP y Microsoft MCTS)
- TOMOS: 1
- CODIGO: KS100
- IDIOMA: ESPAÑOL
- FORMATO: TAPA BLANDA, 17.0x23.0 cm
- EDICION: 1ª.
- FECHA ED.: 2010
RESEÑA:
Ya ha pasado mucho tiempo desde la primera versión de ADO.NET Entity Framework, así como de la primera edición de esta obra, la cual supuso el primer libro editado sobre esta tecnología en el mundo. Esta nueva entrega, además de una revisión profunda de los distintos conceptos explicados anteriormente, cubre también las nuevas funcionalidades de EF 4.0. Para apoyar a este libro y a los distintos recursos de ejemplos que lo acompañan, se ha incorporado una completa aplicación de referencia en .NET 4.0 en la que se pueden ver muchas de las técnicas y patrones explicados. Esta aplicación -alojada en Codeplex- incorpora también elementos adicionales como WCF, WPF, Silverlight, MVC...
La actual edición de este libro se divide en cinco capítulos principales más una serie de apéndices para ampliar algunos elementos.
El texto comienza con un capítulo de introducción tanto a la tecnología EF 4.0 como a diferentes conceptos importantes que serán manejados a lo largo del resto de libro.
Los siguientes capítulos introducen paulatinamente al lector en las distintas posibilidades que la tecnología ofrece para consultar y actualizar los datos de un modelo conceptual. Todo ello se hace de una forma ordenada, tal y como se concibieron los distintos subsistemas que componen Entity Framework, y explicando las ventajas e inconvenientes de cada uno de ellos.
Para finalizar, se desarrolla un ejercicio de aplicación en el mundo real, apoyándose en la mencionada aplicación de ejemplo que el usuario puede descargar y probar en Codeplex.
Dado que se profundiza conceptualmente en todos los temas, aparte de ser una herramienta fundamental de aprendizaje, este libro es también un manual de referencia que siempre querrá tener a mano.
INDICE:
AGRADECIMIENTOS ........................................................................................... III CONTENIDO ......................................................................................................... V PRÓLOGO .......................................................................................................... XIX PRÓLOGO DE LOS AUTORES ........................................................................ XIII CAPÍTULO 1:INTRODUCCIÓN .......................................................................... 1 1.- Introducción .................................................................................................................................. 1 1.1.- Modelos de dominio ....................................................................................................... 1 1.1.1.- Las entidades en un modelo de dominio ........................................................... 2 1.1.2.- Las entidades no son todo en un modelo de dominio ................................... 4 1.1.3.- ¿Qué papel juega ADO.NET EF en todo esto? ................................................ 4 1.2.- ¿Qué es ADO.NET Entity Framework? ..................................................................... 5 1.2.1.- Arquitectura y componentes ................................................................................ 6 1.2.2.- Proveedores específicos ......................................................................................... 7 1.2.3.- Entity Data Model .................................................................................................... 8 1.2.4.- Entity Client ............................................................................................................. 19 1.2.5.- Object Services ....................................................................................................... 21 1.2.6.- LINQ To Entities, L2E .......................................................................................... 21 CAPÍTULO 2: ENTITY DATA MODEL .............................................................. 23 1.- Introducción ................................................................................................................................ 23 1.1.- Elementos fundamentales de EDM ............................................................................ 24 1.1.1.- Caso práctico: Las entidades............................................................................... 25 1.1.2.- Caso Práctico: Asociaciones ............................................................................... 36 1.1.3.- Caso práctico: Table Splitting ............................................................................. 49 1.1.4.- Caso práctico: Entity Splitting ............................................................................. 54 1.1.5.- Caso práctico: La herencia .................................................................................. 56 1.1.6.- Caso práctico: Defining Query ........................................................................... 65 1.1.7.- Caso práctico: Entidades de solo lectura ........................................................ 68 1.1.8.- Caso práctico: Procedimientos almacenados ................................................. 71 1.2.- Primero el modelo por favor. ..................................................................................... 78 1.3.- Conceptos avanzados de EDM ................................................................................... 86 1.3.1.- Model Defined Functions ..................................................................................... 86
1.3.2.- Tabla por tipo concreto y herencia .................................................................. 89 1.4.- Dividir lo grande ............................................................................................................ 93 1.4.1.- Relaciones entre contextos ................................................................................ 94 CAPÍTULO 3: ENTITY CLIENT .......................................................................... 97 1.- Introducción ................................................................................................................................ 97 1.1.- Entity Client como proveedor de ADO.NET ........................................................ 98 1.1.1.- EntityConnectionStringBuilder ........................................................................... 99 1.1.2.- Entity Connection ................................................................................................ 103 1.1.3.- EntityConnection y EntityDataReader ........................................................... 105 1.2.- Trabajando con Entity Client .................................................................................... 108 1.2.1.- Jerarquía de tipos ................................................................................................. 108 1.2.2.- Consultas parametrizadas .................................................................................. 115 1.2.3.- Consultas polimórficas ....................................................................................... 116 1.2.4.- Llamadas a procedimientos almacenados ...................................................... 118 1.2.5.- Revisión del código generado ........................................................................... 119 1.2.6.- Transaccionabilidad ............................................................................................. 119 1.2.7.- Cache de planes de consulta ............................................................................. 120 CAPÍTULO 4: OBJECTSERVICES Y LINQ TO ENTITIES ............................. 123 1.- Introducción .............................................................................................................................. 123 2.- Los servicios de objetos ........................................................................................................ 123 2.1.- El contexto de trabajo ................................................................................................ 124 2.2.- Las entidades ................................................................................................................. 130 2.2.1.- Selft Tracking Entities ......................................................................................... 135 2.2.2.- Entidades POCO ................................................................................................. 140 2.3.- ObjectSet<TEntity> .................................................................................................... 145 2.3.1.- Ejemplos de creación de consultas.................................................................. 148 2.3.2.- Métodos de construcción de consultas ......................................................... 152 2.3.3.- Navegación entre entidades .............................................................................. 159 2.3.4.- Expansión de consultas....................................................................................... 167 2.4.- LINQ To Entities ......................................................................................................... 170 2.4.1.- Métodos de proyección y restricción ............................................................ 171 2.4.2.- Métodos de encuentro ....................................................................................... 175 2.4.3.- Métodos de partición ......................................................................................... 176 2.4.4.- Métodos de ordenación ..................................................................................... 177 2.4.5.- Métodos de agrupación ...................................................................................... 178 2.4.6.- Métodos de agregados ....................................................................................... 179 2.4.7.- Métodos de elementos y paginación ............................................................. 181 2.5.- Gestión del estado ...................................................................................................... 183 2.5.1.- ObjectStateEntry.................................................................................................. 183 2.5.2.- Inserción de entidades ........................................................................................ 195 2.5.3.- Eliminación de entidades .................................................................................... 199 2.5.4.- Actualización de entidades ................................................................................ 208 2.5.5.- Transaccionabilidad en los servicios de objetos .......................................... 210 2.6.- Selft Tracking Entities y la gestión del estado ...................................................... 211
2.6.1.- Entidades STE en Silverlight .............................................................................. 220 2.7.- Entidades POCO y la gestión del estado ............................................................... 223 2.7.1.- POCO Proxies y Windows Communication Foundation ......................... 228 CAPÍTULO 5: EF 4.0 EN EL MUNDO REAL .................................................... 233 1.- Introducción .............................................................................................................................. 233 2.- El dominio, las entidades y ef 4 ........................................................................................... 234 2.1.1.- Definiendo las abstracciones ............................................................................. 241 2.1.2.- Estableciendo la infraestructura ....................................................................... 245 2.1.3.- "Testando" ADO.NET Entity Framework 4.0 ............................................. 253 2.2.- STE y las entidades duplicadas .................................................................................. 259 3.- Conclusiones ............................................................................................................................. 266 APÉNDICE A: FUNDAMENTOS DE LINQ ...................................................... 267 1.- Introducción .............................................................................................................................. 267 1.1.- Presentación de LINQ ................................................................................................ 268 1.2.- Las expresiones de consulta ..................................................................................... 269 1.3.- Reescritura de expresiones de consulta ................................................................ 273 1.4.- La (no) semántica de los operadores de consulta ............................................... 275 1.5.- Resolución de llamadas a operadores .................................................................... 276 1.6.- Ejecución diferida ......................................................................................................... 276 1.7.- Los operadores de consulta estándar .................................................................... 277 1.8.- El patrón de expresiones de consulta .................................................................... 278 1.9.- Sintaxis de las expresiones de consulta ................................................................. 279 1.10.- Tabla de operadores de consulta estándar ................................................... 281 1.11.- Algunos ejemplos ................................................................................................. 284 1.12.- Extensiones de LINQ .......................................................................................... 291 1.13.- La interfaz IQueryable<T> ................................................................................ 292 1.14.- ¿Qué hacen los operadores de IQueryable<T>? ......................................... 293 1.15.- Sobre la disponibilidad de operadores y funciones ..................................... 294 1.16.- Mecanismos de actualización ............................................................................ 296 APÉNDICE B: REFERENCIA DE ENTITY SQL (ESQL) .................................. 297 1.- Introducción .............................................................................................................................. 297 1.1.- Diferencias con otros dialectos ............................................................................... 297 1.2.- Sentencias de consulta ................................................................................................ 298 1.2.1.- FROM ...................................................................................................................... 298 1.2.2.- SELECT ................................................................................................................... 299 1.2.3.- GROUP BY ............................................................................................................ 302 1.2.4.- HAVING ................................................................................................................. 302 1.2.5.- ORDER BY ............................................................................................................ 303 1.2.6.- Expresiones ........................................................................................................... 303
APÉNDICE C: ADO.NET ENTITY FRAMEWORK 4.0, ALGUNAS NOTAS DERENDIMIENTO. .................................................................................................. 321 1.- Introducción .............................................................................................................................. 321 2.- Consultas parametrizadas ..................................................................................................... 321 3.- Precompilación de vistas........................................................................................................ 325 4.- LazyLoadingEnabled ................................................................................................................ 327 5.- Capacidades de Modelado .................................................................................................... 329 6.- MergeOption ............................................................................................................................ 330 7.- Indices en las consultas .......................................................................................................... 331 8.- Conclusión ................................................................................................................................ 334 APÉNDICE D: PLANTILLAS T4 ........................................................................ 335 1.- Introducción .............................................................................................................................. 335 2.- Las Plantillas t4 ......................................................................................................................... 337 2.1.- Bloques de código ....................................................................................................... 339 2.1.1.- Bloques de control de expresiones ................................................................ 339 2.1.2.- Bloques de control de características de clase ............................................ 340 2.1.3.- Utilizar definiciones externas ........................................................................... 341 2.1.4.- Utility Methods ..................................................................................................... 342 2.1.5.- Directivas de Output .......................................................................................... 343 3.- Plantillas vs Plantillas Pre-Procesadas ................................................................................. 343 3.1.- Plantillas pre-procesadas ............................................................................................ 344 4.- transformar datos y modelo ................................................................................................. 347 APÉNDICE E: EDMGEN ..................................................................................... 349 1.- Introducción .............................................................................................................................. 349 ÍNDICE ANALÍTICO .......................................................................................... 353
SOBRE EL AUTOR:

Unai Zorrilla Castro
Data Platform Development MVP
Lleva más de 10 años desarrollando software como consultor independiente y en diversas empresas privadas, realizando las tareas de arquitectura de software bajo plataforma .NET y tocando distintas ramas tecnológicas. Ha sido reconocido con el galardón de Microsoft MVP, colabora activamente con Microsoft en eventos de formación, talleres de arquitectura y giras de producto así como con la publicación de artículos técnicos en revistas especializadas como MTJ.NET, MSDN Online, DotNetMania.
Actualmente trabaja como consultor de gran empresa en Plain Concepts, empresa de la cual es socio fundador.

Escribe un comentario