Saltar apartados

ADO.NET Entity Framework

Con ADO.NET Entity Framework, Microsoft ha hecho de modelado entidad-relación se pueda usar programando. Lo consigue mediante una combinación de archivos de esquema XML, detrás está el código .NET y el API de ADO.NET Entity Framework. Los archivos de esquema definen una capa conceptual donde muestran el almacén de datos (por ejemplo, una base de datos de Oracle) y crean un mapa entre los datos y los objetos de nivel de aplicación.

ADO.NET Entity Framework permite escribir sus programas usando las clases que se generan a partir de esta capa conceptual.

Por defecto ADO.NET Entity Framework sólo está disponible de base para SQL Server. Hay otros proveedores que ofrecen estos servicios para sus bases de datos. El listado se puede consultar en http://msdn.microsoft.com/en-us/data/dd363565.aspx. Por desgracia para Oracle, todas las soluciones disponibles son de pago, aunque hay un compromiso por parte de Oracle de incluirlo en una próxima versión de las herramientas de desarrollo para Visual Studio durante el año 2011.

Para el curso hemos instalado la solución de Devart (http://www.devart.com/dotconnect/oracle/) que nos permite su disfrute durante 30 días.

 

Importar el modelo de una base de datos

Los pasos son muy sencillos, sobre la carpeta de Models, pulsamos botón derecho y selecionamos Agregar->Nuevo Elemento

 Importar modelo de nuestra base de datos

 

Seleccionamos la sección Datos de la parte izquierda, y el primero que visualizamos es ADO.NET Entity Data Model. Lo seleccionamos y pulsamos Agregar.

 Importar modelo de nuestra base de datos

Seleccionamos Generar desde la base de datos

 Importar modelo de nuestra base de datos

Y definimos la conexión. En caso de que sea la primera vez, pulsaremos en Nueva Conexión. Las próximas veces recordará la opción seleccionada.

Importar modelo de nuestra base de datos

Marcamos que guarde los datos confidenciales y le ponemos un nombre al Entidad con la que vamos a trabajar.

 Importar modelo - Seleccionar base de datos

Tras unos segundos, veremos que nos permite aquellos objetos que queremos importar. Revisar que sólo marcamos aquello a lo que tiene permisos de acceso el usuario.

Al igual que antes le ponemos un nombre al modelo

Importar modelo - Seleccionar elementos

 

Si todo es correcto se abrirá una ventana con las tablas, con sus relaciones, y las vistas.

 Esquema Entity Framework

Ya estamos en disposición de hacer uso del modelo importado.

 

Consultando datos de una tabla / vista

Lo primero es abrir la entidad de la BD. Lo podemos hacer en el propio controlador, fuera de cualquier método.

  public class HomeController : Controller

    {

        //

        // GET: /Home/

        CatalogadorEntities DB = new CatalogadorEntities();

 

        public ActionResult Index()

        {

 

            return View();

        }

 

    }

Ahora ya dentro de un método podemos hacer referencia, por ejemplo a todos los catálogos. 

Para ello debemos conocer un nuevo elemento que está muy unido al ADO.NET Entity Framework y que el tándem lo hace muy potente, LINQ.

Language-Integrated Query (LINQ) es una importante innovación en Visual Studio 2008 y .NET Framework versión 3.5 que elimina la distancia que separa el mundo de los objetos y el mundo de los datos.

Tradicionalmente, las consultas con datos se expresan como cadenas sencillas, sin comprobación de tipos en tiempo de compilación ni compatibilidad con IntelliSense. Además, es necesario aprender un lenguaje de consultas diferente para cada tipo de origen de datos: bases de datos SQL, documentos XML, servicios web diversos, etc. LINQ convierte una consulta en una construcción de lenguaje de primera clase en C# y Visual Basic. Las consultas se escriben para colecciones de objetos con establecimiento inflexible de tipos, utilizando palabras clave del lenguaje y operadores con los que se está familiarizado.

Para más información sobre LINQ consulte la siguiente página:

http://msdn.microsoft.com/es-es/library/bb397933%28v=VS.90%29.aspx

http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx

 

Vamos a consultar el catálogo completo de dos maneras

Accediendo directamente al modelo y generando una lista de todos sus elementos

Consulta tabla

O haciendo una consulta LINQ, sin poner ninguna condición.

 Consulta tabla  - Recoger todos los elementos

 

Ahora es el momento de crear una vista. Seleccionamos el modelo CNET_CATALOGADOR y seleccionamos que queremos crear una lista

Creación de una vista para los listados

Si pulsamos CTRL+F5 veremos el resultado

Listado en el navegador

 

Ya que disponemos del botón créate, vamos a generar un método para el controlador

Añadir registros

Definimos su vista correspondiente y la dejamos tal cual

Creación de una vista para los añadir registros

 

Si visualizamos su resultado en el navegador

Ficha de creación en el navegador

Ahora nos falta el método créate que almacenará los datos. Simplemente debe recoger los datos del formulario, añadirlo al modelo y guardar los datos.

Añadir registros

En caso de que falle, volvemos a la vista créate.

Si todo es correcto veremos que lo que rellenemos en esta ventana, al pulsar Create se verá reflejado en el listado.

Visualización en el navegador del resultado de crear registros

Servicio de Informática ASP.NET MVC 2 Framework


Universidad de Alicante
Carretera de San Vicente del Raspeig s/n
03690 San Vicente del Raspeig
Alicante (Spain)

Tel: (+34) 96 590 3400

Fax: (+34) 96 590 3464

Para más información: informacio@ua.es, y para temas relacionados con este servidor Web: webmaster@ua.es

Carretera San Vicente del Raspeig s/n - 03690 San Vicente del Raspeig - Alicante - Tel. 96 590 3400 - Fax 96 590 3464