lenguaje de programación .net ldp3501: visual studio .net 2008 ado.net entity framework

of 18 /18
© 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. Lenguaje de Programación .Net LDP3501: Visual Studio .Net 2008 ADO.Net Entity Framework.

Author: herman

Post on 22-Feb-2016

40 views

Category:

Documents


0 download

Embed Size (px)

DESCRIPTION

Lenguaje de Programación .Net LDP3501: Visual Studio .Net 2008 ADO.Net Entity Framework. ADO.Net Entity Framework. - PowerPoint PPT Presentation

TRANSCRIPT

LDP3501 VS.Net 2008

Lenguaje de Programacin .NetLDP3501: Visual Studio .Net 2008

ADO.Net Entity Framework. 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.ADO.Net Entity FrameworkUna de las metas principales de la nueva versin de ADO.NET es elevar el nivel de abstraccin de la programacin contra fuentes de datos a travs de la eliminacin del "vaco" existente entre los modelos de datos y los lenguajes de programacin. Y Cmo es posible esto? A travs de dos innovaciones claves de la plataforma: LINQ y ADO.NET Entity Framework. 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.ADO.Net Entity FrameworkCaractersticasEs un Framework que permite manipular y acceder a los datos como clases .NET.Permite realizar un modelado de datos a nivel conceptual (aplicaciones y esquemas de BD).Permite una mejor interaccin de los datos con el entorno .NET: Se interacta con objetos, frente a hacerlo con filas y columnas.Permite describir los datos de la aplicacin e interactuar con ellos a un nivel de abstraccin conceptual claramente alineado con el concepto de implementacin de aplicaciones de negocio.Se apoya en LINQ para definir las consultas a objetos del esquema EDM (Entity Data Model).Independiza las aplicaciones de el esquema de BD subyacente. 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.ADO.Net Entity FrameworkArquitectura

DataSourceLa mencionada independencia con el esquema y la tecnologa de Base de Datos, se logra bsicamente en una arquitectura dividida en dos partes diferenciadas, Modelo de Datos y Modelo Conceptual (EDM). 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.ADO.Net Entity FrameworkArquitectura

DataSourceFuente de DatosCorresponde al almacn de datos fsicos.

Proveedores de DatosLos datos se acceden mediante un proveedor de datos ADO.Net. 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.ADO.Net Entity FrameworkArquitectura

DataSourceModelo de Entidades de Datos

Lenguaje de Definicin del Esquema Conceptual: Declara y define las entidades, asociaciones y herencia.

Lenguaje de Definicin del Esquema del Almacn: Metadatos que describen el contenedor del almacenamiento (base de datos).

Lenguaje de Especificacin de Mapeo: Mapa de las entidades en el CSDL a las tablas descritas en el SSDL. 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.ADO.Net Entity FrameworkArquitectura

DataSourceEntidad ClienteProveedor administrado por ADO.Net que permite el acceso a los datos descritos en el EDM. Es similar a un SQLClient u OracleClient. Provee de un conjunto de componentes como EntityCommand, EntityConnection y EntityTransaction.

Servicios de ObjetosEste componente permite consultar, insertar, actualizar y eliminar datos, expresados como objetos CLR fuertemente tipados que son instancias de los tipos de entidades. 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.ADO.Net Entity FrameworkArquitectura

DataSourceEntity SQL Es un derivado de Transact-SQL, diseado para consultar y manipular entidades definidas en el Modelo de Datos de la entidad.

LINQ to EntitiesSe trata de un lenguaje de consulta fuertemente tipada, para consultas contra entidades definidas en el Modelo de Datos de la entidad. 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.ADO.Net Entity FrameworkDefiniendo un Modelo de Entidades

2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.ADO.Net Entity FrameworkDefiniendo un Modelo de Entidades

2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.ADO.Net Entity FrameworkDefiniendo un Modelo de Entidades

2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.ADO.Net Entity FrameworkDefiniendo un Modelo de Entidades

2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.ADO.Net Entity FrameworkConsulta de entidades /* Instancia del modelo de entidades creado */ EmpresasEntities modeloEmpresas = new EmpresasEntities();

/* Consulta de entidades */var empleados = (from empleado in modeloEmpresas.Empleado select empleado);

foreach (Empleado emp in empleados) { /* Carga la empresa referenciada */ emp.EmpresaReference.Load();

/* Muestra la informacin del Empleado */ Console.WriteLine("Rut: {0}, Nombre : {1} {2}, Empresa : {3} ", emp.Rut, emp.Nombres, emp.Apellidos, emp.EmpresaReference.Value.RazonSocial); } 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.ADO.Net Entity FrameworkActualizacin de entidades /* Consulta para obtener la entidad que se actualizar */ /* Empleado Bart Wall */ Empleado empleadoModificado = modeloEmpresas.Empleado.First ( emp => emp.Rut == 1005811 );

Console.WriteLine("Nombre Empleado = {0} {1}", empleadoModificado.Nombres, empleadoModificado.Apellidos);

/* Cambia su Apellido y actualiza el modelo */ empleadoModificado.Apellidos = "Simpson";

modeloEmpresas.SaveChanges(); 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.ADO.Net Entity FrameworkCreacin de entidades /* Crea la nueva instancia del empleado */ Empleado empleadoNuevo = new Empleado(); empleadoNuevo.Rut = 12345678; empleadoNuevo.Dv = "9"; empleadoNuevo.Nombres = "Juan"; empleadoNuevo.Apellidos = "Perez";

/* Carga y asigna la empresa respectiva */ Empresa empresa = modeloEmpresa.Empresa.First(e => e.Rut == 98691599); empleadoNuevo.Empresa = empresa; //Accede por la Entidad

/* Agrega el empleado al modelo y lo actualiza */ modeloEmpresa.AddToEmpleado(empleadoNuevo); modeloEmpresa.SaveChanges();

2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.ADO.Net Entity FrameworkEliminacin de entidades /* Consulta para obtener la entidad que se eliminar */ /* Empleado Juan Perez */ Empleado empleadoEliminado = modeloEmpresas.Empleado.First (emp => emp.Rut == 12345678);

Console.WriteLine("Empleado antes de borrar {0}", modeloEmpresas.Empleado.Count());

modeloEmpresas.DeleteObject(empleadoEliminado);

modeloEmpresas.SaveChanges();

Console.WriteLine("Empleado despus de borrar {0}", modeloEmpresas.Empleado.Count()); 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.Arquitectura en CapasActividad 2:Controles enlazados a datos mediante entidades (EDM)

2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados. 2010 DUOC Sede Antonio Varas. Todos los Derechos Reservados.