Entity framework

18
UNIVERSIDAD LAICA ELOY ALFARO DE MANABÍ PROPUESTA TEMÁTICA: ENTITY FRAMEWORK INTEGRANTE: ZAMBRANO ZAMBRANO ROBIN CALIXTO. CURSO: QUINTO NIVEL “A” CATEDRÁTICO: ING. JORGE PINCAY

description

 

Transcript of Entity framework

Page 1: Entity framework

PROPUESTA TEMÁTICA:

ENTITY FRAMEWORK

INTEGRANTE:

ZAMBRANO ZAMBRANO ROBIN CALIXTO.

CURSO:

QUINTO NIVEL “A”

CATEDRÁTICO:

ING. JORGE PINCAY

2013-2014

ÍNDICE DEL CONTENIDO

Page 2: Entity framework

INTRODUCCIÓN.

TEMA.

BREVE RESUMEN.

OBJETIVOS.

OBJETIVO GENERAL.

OBJETIVO ESPECÍFICOS.

JUSTIFICACIÓN.

MARCO TEÓRICO.

METODOLOGÍA.

EL TIPO DE INVESTIGACIÓN QUE SE APLICARÁ.

CONCLUSIONES.

BIBLIOGRAFÍA.

INTRODUCCIÓN

Page 3: Entity framework

En la actualidad existen distintos tipo de Framework para el desarrollo de

aplicaciones cada uno de estos tiene distintas características funcionalidades

únicas que los distinguen de los otros, por lo cual a la hora de elegir un Framework

debemos tener en cuenta que vamos a utilizar y para que lo vamos a usar.

Todo esto lleva un trabajo o una tarea que abecés se torna complicada si no

conocemos el funcionamiento y los requerimientos de la aplicación.

Este trabajo vamos hablar sobre Entity Framework una herramienta de Microsoft la

cual permite crear aplicaciones de acceso a datos con un modelo conceptual y

también describiremos su funcionamiento a través del desarrollo de una

aplicación.

TEMA:

Entity framework y desarrollo de un prototipo de aplicación utilizando Entity

Framework y el patrón MVC (Modelo Vista Controlador) con Membership.

BREVE RESUMEN

Con la propuesta del proyecto presente, lo que se desea realizar es una aplicación

que permita loguearse por medio de un usuario y contraseña ya establecido en

una base de datos o permita crear un nuevo usuario. Al acceder se podrá realizar

las operaciones básicas (Mostrar, Eliminar, Actualizar e Ingresar) nuevos registros

a la base de datos.

Page 4: Entity framework

OBJETIVOS

OBJETIVO GENERAL.

Explicar la funcionalidad de la Herramienta Entity Framework para el desarrollo de

aplicaciones.

OBJETIVOS ESPECÍFICOS.

Especificar las características de la Herramienta Entity Framework.

Desarrollar una aplicación que utilice la herramienta Entity Framework.

Analizar ventajas y desventajas que puede ocasionar al utilizar la

herramienta Entity Framework.

JUSTIFICACIÓN

La finalidad de este proyecto es conocer las características, funcionalidades de

una de las herramientas de Microsoft para el desarrollo de aplicaciones la cual es

Entity Framework.

Con este trabajo buscamos aprender a utilizar esta herramienta y ponerla en

práctica a la hora de desarrollar una aplicación con ciertas especificaciones según

la necesidad del usuario y del contexto de implementación.

MARCO TEÓRICO

Page 5: Entity framework

ENTITY FRAMEWORK

Entity Framework es un conjunto de tecnologías de ADO.NET que permiten el

desarrollo de aplicaciones de software orientadas a datos.

Los arquitectos y programadores de aplicaciones orientadas a datos se han

enfrentado a la necesidad de lograr dos objetivos muy diferentes. Deben modelar

las entidades, las relaciones y la lógica de los problemas empresariales que

resuelven, y también deben trabajar con los motores de datos que se usan para

almacenar y recuperar los datos.

Los datos pueden abarcar varios sistemas de almacenamiento, cada uno con sus

propios protocolos; incluso las aplicaciones que funcionan con un único sistema de

almacenamiento deben equilibrar los requisitos del sistema de almacenamiento

con respecto a los requisitos de escribir un código de aplicación eficaz y fácil de

mantener.

ACCESO A DATOS

Entity Framework 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.

Con Entity Framework, los desarrolladores pueden trabajar en un nivel mayor de

abstracción cuando tratan con datos, y pueden crear y mantener aplicaciones

orientadas a datos con menos código que en las aplicaciones tradicionales.

Dado que Entity Framework es un componente de .NET Framework, las

aplicaciones de Entity Framework se pueden ejecutar en cualquier equipo en el

que esté instalado .NET Framework a partir de la versión 3.5 SP1.

Entity Framework permite a los desarrolladores crear aplicaciones de acceso a

datos programando con un modelo de aplicaciones conceptuales en lugar de

programar directamente con un esquema de almacenamiento relacional.

Page 6: Entity framework

El objetivo es reducir la cantidad de código y el mantenimiento necesarios para las

aplicaciones orientadas a datos.

Como algo más que otra solución de asignación objeto-relacional, Entity

Framework trata fundamentalmente de permitir que las aplicaciones obtengan

acceso y cambien los datos que están representados como entidades y relaciones

en el modelo conceptual. Entity Framework usa la información de los archivos del

modelo y de asignación para traducir las consultas de objeto con los tipos de

entidad que se representan en el modelo conceptual en consultas específicas del

origen de datos. Los resultados de la consulta se materializan en objetos que

Entity Framework administra. Entity Framework proporciona las maneras

siguientes de consultar un modelo conceptual y devolver objetos:

Como algo más que otra solución de asignación objeto-relacional, Entity

Framework trata fundamentalmente de permitir que las aplicaciones obtengan

acceso y cambien los datos que están representados como entidades y relaciones

en el modelo conceptual. Entity Framework usa la información de los archivos del

modelo y de asignación para traducir las consultas de objeto con los tipos de

entidad que se representan en el modelo conceptual en consultas específicas del

origen de datos. Los resultados de la consulta se materializan en objetos que

Entity Framework administra. Entity Framework proporciona las maneras

siguientes de consultar un modelo conceptual y devolver objetos:

LINQ to Entities. Proporciona compatibilidad con Language-Integrated

Query (LINQ) para consultar los tipos de entidad que se definen en un

modelo conceptual. 

Entity SQL. Un dialecto de SQL, independiente del almacenamiento, que

trabaja directamente con entidades del modelo conceptual y que admite

conceptos de Entity Data Model. Entity SQL se utiliza tanto con consultas

de objeto como con consultas que se ejecutan utilizando el proveedor

EntityClient

El Entity Framework incluye el proveedor de datos de EntityClient. Este proveedor

administra las conexiones, traduce las consultas de entidad en consultas

Page 7: Entity framework

específicas del origen de datos y devuelve un lector de datos que Entity

Framework usa para materializar los datos de la entidad en los objetos. Cuando no

se requiere la materialización de los objetos, el proveedor de EntityClient también

se puede utilizar como un proveedor de datos ADO.NET estándar habilitando las

aplicaciones para ejecutar consultas Entity SQL y usar el lector de datos de solo

lectura devuelto.

VENTAJAS

Las aplicaciones de Entity Framework ofrecen las siguientes ventajas:

Las aplicaciones pueden funcionar en términos de un modelo conceptual

más centrado en la aplicación, que incluye tipos con herencia, miembros

complejos y relaciones.

Las aplicaciones están libres de dependencias de codificación rígida de

un motor de datos o de un esquema de almacenamiento.

Las asignaciones entre el modelo conceptual y el esquema específico de

almacenamiento pueden cambiar sin tener que cambiar el código de la

aplicación.

Page 8: Entity framework

Los desarrolladores pueden trabajar con un modelo de objeto de

aplicación coherente que se puede asignar a diversos esquemas de

almacenamiento, posiblemente implementados en sistemas de

administración de base de datos diferentes.

Se pueden asignar varios modelos conceptuales a un único esquema de

almacenamiento.

La compatibilidad con Language Integrated Query (LINQ) proporciona

validación de la sintaxis en el momento de la compilación para consultas

en un modelo conceptual.

Desde su primera versión, el elemento más crítico en Entity Framework ha sido el

ObjectContext. Esta es la clase que nos permite interactuar con una base de datos

utilizando un modelo conceptual. El contexto nos permite expresar y ejecutar

consultas, seguimiento de cambios en los objetos y persisten los cambios a la

base de datos. La clase ObjectContext interactúa con otras clases de Entity

Framework importantes como el ObjectSet, lo que permite que las operaciones

que figuran en nuestras entidades en la memoria y ObjectQuery, que es el cerebro

detrás de la ejecución de consultas. Todas estas clases están equipadas con las

características y la funcionalidad de algunas de ellas complejas y muchas de ellas

sólo es necesaria para los casos especiales.

Consciente de ello, el equipo de Entity Framework se propuso hacer más fácil para

los desarrolladores acceder a los patrones más utilizados para trabajar con objetos

de Entity Framework. Su solución fue un nuevo conjunto de clases que

encapsulan este subconjunto de características ObjectContext. Estas nuevas

clases utilizan el ObjectContext detrás de las escenas, pero los desarrolladores

pueden trabajar con ellos sin tener que enredarse con el ObjectContext a menos

que necesitan para utilizar específicamente algunas de las características más

avanzadas.

VERSIONES

Page 9: Entity framework

La primera versión de Entity Framework (EFv1) se incluye con.NET

Framework 3.5 Service Pack 1 y Visual Studio 2008 Service Pack 1,

lanzado el 11 de agosto de 2008.

La segunda versión de Entity Framework, llamado Entity Framework 4.0

(EFv4), fue lanzado como parte de. NET 4.0, el 12 de abril de 2010.

La tercera versión de Entity Framework, versión 4.1, fue lanzado el 12 de

abril de 2011.

Una actualización de la versión 4.1 llamada Entity Framework 4.1 Update 1,

fue lanzado el 25 de julio de 2011. Que incluye correcciones de errores y

nuevos tipos de apoyo.

La versión 4.3.1 fue lanzada el 29 de febrero de 2012. Hay un par de

actualizaciones, como es el soporte para la migración.

La última versión es la 5.0.0, ésta posee las siguientes características:

Nuevos tipos de datos (Tipos enumerados (Enum), Tipos de datos

espaciales, expuestos mediante los tipos DBGeography y

DbGeometry).

Posibilidad de trabajar con funciones que devuelven datos tabulares.

El resultado es similar a la llamada a un procedimiento almacenado,

con la diferencia de que podemos utilizar estas funciones en

consultas LINQ.

Todas las consultas LINQ se compilan y cachean de forma

automática. Con ello se obtiene un mejor rendimiento en llamadas

recurrentes a las consultas.

Soporte a múltiples diagramas para un mismo modelo de datos. Se

podrán visualizar partes del modelo completo en diagramas más

pequeños, con lo que se mejora la lectura y exploración del modelo.

Mejoras generales en el rendimiento de EF respecto a versiones anteriores.

Page 10: Entity framework

Posibilidad de utilizar procedimientos almacenados que devuelven múltiples

conjuntos de resultados. Cada conjunto de resultados del procedimiento será

mapeando un tipo complejo propio.

MODELO VISTA CONTROLADOR

El MVC es un patrón de arquitectura de software que separa los datos y la lógica

de negocio de una aplicación de la interfaz de usuario y el módulo encargado de

gestionar los eventos y las comunicaciones. Para ello MVC propone la

construcción de tres componentes distintos que son el modelo, la vista y el

controlador, es decir, por un lado define componentes para la representación de la

información, y por otro lado para la interacción del usuario. Este patrón de diseño

se basa en las ideas de reutilización de código y la separación de conceptos,

características que buscan facilitar la tarea de desarrollo de aplicaciones y su

posterior mantenimiento.

Aunque originalmente MVC fue desarrollado para aplicaciones de escritorio, ha

sido ampliamente adaptado como arquitectura para diseñar e implementar

aplicaciones web en los principales lenguajes de programación. Se han

desarrollado multitud de frameworks, comerciales y no comerciales

DESCRIPCIÓN DEL PATRÓN

Modelos.- Es la representación específica de la información con la cual el sistema

opera, por lo tanto gestiona todos los accesos a dicha información, tanto consultas

como actualizaciones, implementando también los privilegios de acceso que se

hayan descrito en las especificaciones de la aplicación (lógica de negocio). Envía

a la 'vista' aquella parte de la información que en cada momento se le solicita para

que sea mostrada (típicamente a un usuario). Las peticiones de acceso o

manipulación de información llegan al 'modelo' a través del 'controlador.

Vistas.- Las vistas son los componentes que muestra la interfaz de usuario de la

aplicación. Normalmente, esta interfaz de usuario se crea a partir de los datos de

Page 11: Entity framework

modelo. Un ejemplo sería una vista de edición de una tabla Productos que

muestra cuadros de texto, listas desplegables y casillas basándose en el estado

actual de un objeto Product.

Controladores.- Los controladores son los componentes que controlan la

interacción del usuario, trabajan con el modelo y por último seleccionan una vista

para representar la interfaz de usuario. En una aplicación MVC, la vista solo

muestra información; el controlador administra y responde a los datos

proporcionados por el usuario y su interacción. Por ejemplo, el controlador

administra los valores de la cadena de consulta y pasa estos valores al modelo,

que a su vez podría utilizarlos para consultar la base de datos.

CONCLUSIONES

Page 12: Entity framework

Podríamos llegar a decir que Entity Framework es una forma de abstraerse del

tipo de Base de Datos que existe detrás de un sistema, gracias al mapeo de

las tablas hacia entidades.

Las aplicaciones que trabajan con Entity pueden funcionar en términos de un

modelo conceptual más centrado en la aplicación que incluye tipos con

herencia, abstracciones y demás propiedades de la POO.

Las asignaciones entre los controladores, el modelo conceptual y el esquema

específico de almacenamiento pueden cambiar sin tener que cambiar el código

de la aplicación.

Los desarrolladores pueden trabajar con un modelo de objeto de aplicación

coherente que se puede asignar a diversos esquemas de almacenamiento,

posiblemente implementados en sistemas de administración de base de datos

diferentes.

Se pueden asignar varios modelos conceptuales a un único esquema de

almacenamiento.

Page 13: Entity framework

BIBLIOGRAFÍA

ASP.NET. (s.f.). Obtenido de http://www.asp.net/entity-framework

ECURED. (s.f.). Obtenido de http://www.ecured.cu/index.php/Entity_framework

En español Msdn. (s.f.). Obtenido de http://msdn.microsoft.com/es-es/library/dd381412(v=vs.100).aspx

MSDN. (s.f.). Obtenido de http://msdn.microsoft.com/es-es/library/bb399567.aspx

MSDN. (s.f.). Obtenido de http://msdn.microsoft.com/es-es/library/bb399572.aspx