Saltar apartados

ADO.NET Entity Framework

Amb ADO.NET Entity Framework, Microsoft ha fet de modelat entitat-relació es puga usar programant. Ho aconsegueix mitjançant una combinació d'arxius d'esquema XML, darrere està el codi .NET i l'API d'ADO.NET Entity Framework. Els arxius d'esquema defineixen una capa conceptual on mostren el magatzem de dades (per exemple, una base de dades d'Oracle) i creen un mapa entre les dades i els objectes de nivell d'aplicació.

ADO.NET Entity Framework permet escriure els seus programes usant les classes que es generen a partir d'aquesta capa conceptual.

Per defecte ADO.NET Entity Framework només està disponible de base per a SQL Server. Hi ha altres proveïdors que ofereixen aquests serveis per a les seues bases de dades. El llistat es pot consultar en http://msdn.microsoft.com/en-us/data/dd363565.aspx. Per desgràcia per a Oracle, totes les solucions disponibles són de pagament, encara que hi ha un compromís per part d'Oracle d'incloure-ho en una pròxima versió de les eines de desenvolupament per a Visual Studio durant l'any 2011.

Per al curs hem instal·lat la solució de Devart (http://www.devart.com/dotconnect/oracle/) que ens permet el seu gaudi durant 30 dies.

Importar el model d'una base de dades

Els passos són molt senzills, sobre la carpeta de Models, premem botó dret i selecionamos Agregar->Nou Element

Importar modelo de nuestra base de datos

Seleccionem la secció Dades de la part esquerra, i el primer que visualitzem és ADO.NET Entity Data Model. Ho seleccionem i premem Agregar.

Importar modelo de nuestra base de datos

Seleccionem Generar des de la base de dades

Importar modelo de nuestra base de datos

I definim la connexió. En cas que siga la primera vegada, premerem en Nova Connexió. Les pròximes vegades recordarà l'opció seleccionada.

Importar modelo de nuestra base de datos

Marquem que guarde les dades confidencials i li posem un nom a l'Entitat amb la qual anem a treballar.

Importar modelo - Seleccionar base de datos

Després d'uns segons, veurem que ens permet aquells objectes que volem importar. Revisar que només marquem allò al que té permisos d'accés l'usuari.

Igual que abans li posem un nom al model

Importar modelo - Seleccionar elementos

Si tot és correcte s'obrirà una finestra amb les taules, amb les seues relacions, i les vistes.

Esquema Entity Framework

Ja estem en disposició de fer ús del model importat.

Consultant dades d'una taula / vista

El primer és obrir l'entitat de la BD. Ho podem fer en el propi controlador, fora de qualsevol mètode.

public class HomeController : Controller

{

//

// GET: /Home/

CatalogadorEntities DB = new CatalogadorEntities();

public ActionResult Index()

{

return View();

}

}

Ara ja dins d'un mètode podem fer referència, per exemple a tots els catàlegs.

Per a açò hem de conèixer un nou element que està molt unit a l'ADO.NET Entity Framework i que el tàndem ho fa molt potent, LINQ.

Language-Integrated Query (LINQ) és una important innovació en Visual Studio 2008 i .NET Framework versió 3.5 que elimina la distància que separa el món dels objectes i el món de les dades.

Tradicionalment, les consultes amb dades s'expressen com a cadenes senzilles, sense comprovació de tipus en temps de compilació ni compatibilitat amb IntelliSense. A més, és necessari aprendre un llenguatge de consultes diferent per a cada tipus d'origen de dades: bases de dades SQL, documents XML, serveis web diversos, etc. LINQ converteix una consulta en una construcció de llenguatge de primera classe en C# i Visual Basic. Les consultes s'escriuen per a col·leccions d'objectes amb establiment inflexible de tipus, utilitzant paraules clau del llenguatge i operadors amb els quals s'està familiaritzat.

Per a més informació sobre LINQ consulte la següent pàgina:

http://msdn.microsoft.com/es-es/library/bb397933(v=VS.90).aspx

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

Anem a consultar el catàleg complet de dues maneres

Accedint directament al model i generant una llista de tots els seus elements

Consulta tabla

O fent una consulta LINQ, sense posar cap condició.

Consulta tabla  - Recoger todos los elementos

Ara és el moment de crear una vista. Seleccionem el model CNET_CATALOGADOR i seleccionem que volem crear una llista

Creación de una vista para los listados

Si premem CTRL+F5 veurem el resultat

Listado en el navegador

Ja que disposem del botó crea't, anem a generar un mètode per al controlador

Añadir registros

Definim la seua vista corresponent i la deixem tal qual

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

Si visualitzem el seu resultat en el navegador

Ficha de creación en el navegador

Ara ens falta el mètode crea't que emmagatzemarà les dades. Simplement ha d'arreplegar les dades del formulari, afegir-ho al model i guardar les dades.

Añadir registros

En cas que falle, tornem a la vista crea't.

Si tot és correcte veurem que el que emplenem en aquesta finestra, en prémer Create es veurà reflectit en el llistat.

Visualización en el navegador del resultado de crear registros

Servei d'Informàtica ASP.NET MVC 2 Framework


Universitat d'Alacant
Carretera de Sant Vicent del Raspeig s/n
03690 Sant Vicent del Raspeig
Alacant (Spain)

Tel: (+34) 96 590 3400

Fax: (+34) 96 590 3464

Per a més informació: informacio@ua.es, i per a temes relacionats amb aquest servidor web: webmaster@ua.es

Carretera de Sant Vicent del Raspeig, s/n - 03690 Sant Vicent del Raspeig - Alacant - Tel.: 96 590 3400 - Fax: 96 590 3464