Entity FrameWork 6 Rafael Consuegra García Ingeniero de Sistemas Twitter RafaelConsuegra Facebook Blog IM Rafael.consuegra@gmail.com
@RafaelConsuegra
www.bdotnet.org
Que es un ORM? Object-Relational mapping Es una técnica de programación para convertir datos entre el sistema de tipos (lenguaje de programación) utilizado en un lenguaje de programación orientado a objetos y la utilización de una base de datos relacional, utilizando un motor de persistencia. En la práctica esto crea una base de datos orientada a objetos virtual, sobre la base de datos relacional. Esto posibilita el uso de las características propias de la orientación a objetos (básicamente herencia y polimorfismo).
Entity FrameWork Es un conjunto de tecnologías de ADO.NET que permiten el desarrollo de aplicaciones de software orientadas a datos. Permite a los desarrolladores trabajar con datos en forma de objetos y propiedades específicos del dominio, como clientes y direcciones de cliente, sin tener que preocuparse por las tablas y columnas de la base de datos subyacente donde se almacenan estos datos.
Entity FrameWork Es un asignador objeto-relacional que permite a los desarrolladores de.net trabajar con datos relacionales usando objetos específicos del dominio. Elimina la necesidad de la mayor parte del código de acceso a datos que los desarrolladores suelen tener que escribir..net Framework a partir de la versión 3.5 SP1.
Entity FrameWork
Enfoques Manejados Por Entity FrameWork DataBase Firts Model Firts Code Firts
Aplicaciones Orientadas a Datos Un enfoque de diseño habitual para crear una aplicación o un servicio consiste en dividir la aplicación o el servicio en tres partes: Modelo de dominio : Entidades y Relaciones del sistema. Modelo lógico : Normaliza las entidades (PK & FK) Modelo físico : Motor de datos determinado
Archivos Manejados E.F. El lenguaje de definición de esquemas conceptuales (CSDL) define el modelo conceptual. CSDL es la implementación de Entity Framework del Entity Data Model. La extensión de archivo es.csdl El lenguaje de definición de esquemas de almacenamiento (SSDL) define el modelo de almacenamiento, que también se denomina modelo lógico. La extensión de archivo es.ssdl.
Archivos Manejados E.F. El lenguaje de especificación de asignaciones (MSL) define las asignaciones entre el modelo conceptual y de almacenamiento. La extensión de archivo es.msl.
DEMO
Aspectos de E.F. 6 Soporte a Enumeraciones. Datos Geo Espacial. Table-valued functions AddRange / RemoveRange DbChangeTracker.HasChanges
Aspectos de E.F. 6 Asincrónica (Querys & Guardados)
Aspectos de E.F. 6 Async Nos indica es que el método se quiere sincronizar con métodos que se ejecutarán de forma asíncrona. Qué es sincronizarse con un método asíncrono? Esperar a que termine Declarar un método como async es requisito indispensable para poder usar await.
Aspectos de E.F. 6 Await Permite que un método que ha llamado a otro método asíncrono se espere a que dicho método asíncrono termine. Todo método que quiera ser ejecutado asíncronamente debe devolver un objeto especial (awaitable).
Aspectos de E.F. 6
Implementación Interceptación / Log Reaprovechamiento de Conexiones Abiertas Soporte a Transacciones Extenas
Implementación Connection Resiliency Intentar realizar una operación CUD nuevamente en un Intervalo de Tiempo public class MVC5Configuracion : DbConfiguration { public MVC5Configuracion() { SetExecutionStrategy("System.Data.SqlClient", () => new SqlAzureExecutionStrategy(2, TimeSpan.FromSeconds(30))); } }
Tip s de Performance Controlar el Tamaño del Modelo Limitar el ámbito del Contexto Generar Previamente las Vistas (EdmGen) Deshabilitar el Seguimiento a Cambios
Tip s de Performance Pre-compilar los Query
Tip s de Performance Devolver la cantidad correcta de Registros Emplear FK en vez de Asociaciones Independientes Frio (Cold) / Caliente (Warn) Query
Tip s de Performance
Como Finalizamos???
Preguntas