ASP.net MVC, Entity Framework y Linq, Usando Procedimientos Almacenados
Entity framework
-
Upload
robin-zambrano -
Category
Documents
-
view
1.411 -
download
0
description
Transcript of 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
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
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.
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
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.
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
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.
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
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.
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
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
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.
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