You are on page 1of 24

Introduccin

En este artculo, vamos a aprender los fundamentos de Entity Framework


mediante la creacin de una aplicacin de ejemplo. Este consejo es para los
programadores que tienen alguna experiencia en la creacin de aplicaciones
ASP.NET, pero son nuevos en Entity Framework. Aqu voy a explicar:

Cmo crear un modelo de datos de entidad


Realizar operaciones CRUD
Utilice procedimientos almacenados
Aqu est una vista rpida de la aplicacin que se va a crear:

Fondo
Hay muchos artculos que le ensear los conceptos bsicos de Entity
Framework. Pero en este post, usted va a aprender mediante la creacin de una
aplicacin de una pgina simple.

Cul es Entity Framework?

Objeto / Relational Mapping marco (ORM)


El trabajo con la base de datos como objetos de dominio especfico
Recuperar y manipular datos como objetos de tipo fuerte

Usando el Cdigo
Vamos a caminar a travs de la aplicacin paso a paso.

Inicie un nuevo proyecto


Iniciar una nueva "Aplicacin Web ASP.NET" como se muestra a continuacin:

Crear base de datos


Aqu vamos a utilizar una base de datos muy simple con nombre LearnEF con
una sola mesa. La tablaEmployee tendr una lista de los empleados con la
informacin bsica de cada empleado. Usted puede utilizar el siguiente script
para crear la tabla y un procedimiento almacenado utilizado en esta aplicacin.
Hide Shrink

CREATE TABLE Empleado


(
EmpId NO int IDENTIDAD NULL (1, 1) PRIMARY KEY,
HREmpId nvarchar (10),
FirstName nvarchar (30),
Apellido nvarchar (30),
Nvarchar Direccin (30),
Nvarchar City (30)
)
GO
- SearchEmployee '', ''
CREATE PROCEDURE SearchEmployee
(

Copy Code

VarcharNombre (30),
VarcharCity (30)
)
COMO
COMENZAR
DECLARARquery nvarchar (1000)
SETquery = 'SELECT * FROM Empleado e'
SETquery =query + 'WHERE 1 = 1'
SINombre! = ''
SETquery =query + 'Y FirstName LIKE' '' +Nombre + '%' ''
SICity! = ''
SETquery =query + 'y de ciudad' '' +City + '%' ''

EXEC (query)
FIN
GO

Crear modelo Entity Data


Ahora, vamos a crear el modelo de datos entidad. Aqu estn los detalles paso a
paso:
1.
2.
3.
4.
5.
6.

Haga clic derecho en el nombre del proyecto, seleccione Agregar ->


Nuevo elemento.
Selecciona la pestaa de datos de panel de la izquierda, a continuacin,
seleccione ADO.NET Entity Data Model.
Nombre como LearnEF.edmx. Haga clic en Agregar.
Seleccione Generar la base de datos en el Asistente para Entity Data
Model.
En la siguiente ventana, establezca las propiedades de conexin para la
base de datos y haga clic en Siguiente.
La siguiente ventana le mostrar los objetos en su base de
datos. Seleccione la tabla Employee y el procedimiento
almacenado SearchEmployee .

7.

Haga clic en Finalizar. Si ha completado los pasos anteriores con xito,


usted ver su EDM en modo de diseo como se muestra a continuacin:

Inserte un nuevo rcord


Para insertar un nuevo registro:
1.

Aadir un objeto de Employee clase. por ejemplo,


Hide Copy Code

Empleado objEmp = new Empleado ();

2.

Establezca el valor de las propiedades como:


Hide Copy Code

objEmp.FirstName = txtFirstName.Text;

3.

Aadir objeto a la coleccin en ObjecContext y call SaveChanges :


Hide Copy Code

db.Employees.AddObject (objEmp);
db.SaveChanges ();

He aqu un fragmento de cdigo completo:


Hide Copy Code

LearnEFEntities db = new LearnEFEntities ();


Empleado objEmp = new Empleado ();
objEmp.HREmpId = txtHREmpId.Text;
objEmp.FirstName = txtFirstName.Text;
objEmp.LastName = txtLastName.Text;
objEmp.Address = txtAddress.Text;
objEmp.City = txtCity.Text;
db.Employees.AddObject (objEmp);
db.SaveChanges (); <Span style = "font-size: 9pt;"> </ span>

Leer de tabla Employee y poblar GridView


Hide Copy Code

LearnEFEntities db = new LearnEFEntities ();


var = empQuery de emp en db.Employees
seleccione emp;
Lista <Empleado> empList = empQuery.ToList ();
ddlEmployee.DataSource = empList;
ddlEmployee.DataValueField = "EmpId";
ddlEmployee.DataTextField = "Nombre";
ddlEmployee.DataBind ();
ddlEmployee.Items.Insert (0, nuevo ListItem ("--add nuevo--", "0"));
// Rejilla bind
GridView1.DataSource = empList;
GridView1.DataBind ();

Actualizar un registro de empleado


Hide Copy Code

LearnEFEntities db = new LearnEFEntities ();


var = empQuery de emp en db.Employees
donde emp.EmpId == EMPID
seleccione emp;
Empleado objEmp = empQuery Individual (.);
objEmp.HREmpId = txtHREmpId.Text;
objEmp.FirstName = txtFirstName.Text;
objEmp.LastName = txtLastName.Text;
objEmp.Address = txtAddress.Text;
objEmp.City = txtCity.Text;
db.SaveChanges ();

Cmo eliminar un registro


El cdigo siguiente le explicar los pasos para eliminar un registro:
Hide Copy Code

LearnEFEntities db = new LearnEFEntities ();


// Crear un nuevo objeto con el valor de EmpId
Empleado objEmp = new Empleado () {EmpId = EMPID};
// Adjuntar y eliminar objetos
db.Employees.Attach (objEmp);
db.Employees.DeleteObject (objEmp);
// Guardar cambios
db.SaveChanges ();

Cmo utilizar procedimientos almacenados en Entity


Framework
Vamos a aadir la funcionalidad de bsqueda utilizando un procedimiento
almacenado. Para esto:

1.
2.

Doble click LearnEF.edmx


Haga clic derecho en el panel principal, a continuacin, seleccione
Navegador Modelo.
3.
Expanda el nodo de procedimiento almacenado en el navegador de
modelo, haga clic derechoSearchEmployee procedimiento almacenado, a
continuacin, haga clic en Agregar funcin Importar.

4.

Set "Devuelve una coleccin de" valor a Entidades y


seleccione Employee del desplegable.
5.
Haga clic en Aceptar y ahora estamos listos para utilizar este
procedimiento almacenado.
La declaracin de utilizar este procedimiento almacenado ser:
Hide Copy Code

Lista <Empleado> empList = db.SearchEmployee (txtSrchFirstName.Text, txtSrchCity.Text)


.ToList ();

El siguiente fragmento de cdigo se puede utilizar para buscar empleados y


enlazar una cuadrcula:
Hide Copy Code

Lista <Empleado> empList = db.SearchEmployee (txtSrchFirstName.Text, txtSrchCity.Text)


.ToList ();

// Rejilla bind
GridView1.DataSource = empList;
GridView1.DataBind ();

Tutorial: El uso de un Marco de la entidad


Entidad como Windows Forms Data Source
En este tutorial usted aprender cmo crear un Windows Forms Data Source de una
entidad en un modelo de datos de la entidad. Este tutorial asume que se ha instalado el
ejemplo de base de datos mundial, que se puede descargar desde la pgina de
documentacin de MySQL . Tambin puede encontrar ms detalles sobre cmo instalar la
base de datos en la misma pgina. Tambin ser conveniente para usted para crear una
conexin con la base de datos mundial despus de su instalacin. Para obtener
instrucciones sobre cmo hacer esto verSeccin 4.2, "Establecimiento de una conexin" .
Creacin de una nueva aplicacin de Windows Forms
El primer paso es crear una nueva aplicacin de Windows Forms.
1.

En Visual Studio, seleccione Archivo, Nuevo, proyecto en el men principal.

2.

Selecciona la aplicacin de Windows Forms instalado plantilla. Haga clic en


Aceptar. Se crea la solucin.

Adicin de un modelo de datos de entidad


Ahora va a agregar un modelo de datos de la entidad para su solucin.
1.

En el Explorador de soluciones, haga clic en la aplicacin y seleccione Agregar,


Nuevo elemento .... A partir delas plantillas instaladas de Visual
Studio seleccione ADO.NET Entity Data Model. Haga clic en Agregar.
Figura 5.23 Aadir Entity Data Model

2.

Ahora ver el Asistente para Entity Data Model. Que va a utilizar el asistente para
generar el modelo de datos de entidad de la base de datos de ejemplo del
mundo. Seleccione el icono Generar en la base de datos. Haga clic en Siguiente.
Figura 5.24 Entidad de Modelos de Datos Pantalla 1

3.

Ahora puede seleccionar la conexin que hizo previamente a la base de datos


mundial. Si no lo ha hecho, puede crear la nueva conexin en este momento haciendo
clic en Nueva conexin .... Para ms instrucciones sobre cmo crear una conexin
con una base de datos ver Seccin 4.2, "Establecimiento de una conexin" .
Figura 5.25 Entidad de Modelos de Datos Pantalla 2

4.

Tome nota de los ajustes de conexin entidad que se utilizar en App.Config, ya


que estos sern utilizados posteriormente para escribir el cdigo de control necesario.

5.

Haga clic en Siguiente.

6.

El Asistente para Entity Data Model se conecta a la base de datos. Se le


presentar con una estructura de rbol de la base de datos. De esto se puede
seleccionar el objeto que desea incluir en su modelo. Si hubieras creado Vistas y
rutinas almacenadas stas se mostrarn junto con las tablas. En este ejemplo, slo
tiene que seleccionar las tablas. Haga clic en Finalizar para crear el modelo y salir del
asistente.
Figura 5.26 Entidad de Modelos de Datos Pantalla 3

7.

Visual Studio generar el modelo y luego mostrarlo.


Figura 5.27 Diagrama de Entity Data Model

8.

Desde el Visual Studio men principal seleccione Generar, Generar


solucin, para asegurar que todo se compila correctamente hasta el momento.

Adicin de un nuevo origen de datos


Ahora va a aadir un nuevo origen de datos a su proyecto y ver cmo se puede utilizar
para leer y escribir en la base de datos.
1.

En el men principal de Visual Studio seleccionar datos, Agregar nuevo origen


de datos .... Se le presentar con el Asistente para la configuracin de orgenes de
datos.
Figura 5.28 Asistente para la configuracin de orgenes de datos Entidad
Pantalla 1

2.

Seleccione el icono del objeto. Haga clic en Siguiente.

3.

Ahora va a seleccionar el objeto de obligar a. Expanda el rbol. En este tutorial,


seleccione la tabla de la ciudad.Una vez haga clic en el cuadro de la ciudad ha sido
seleccionada en Siguiente.
Figura 5.29 Asistente para la configuracin de orgenes de datos Entidad
Pantalla 2

4.

El asistente le confirme que el objeto de la ciudad se va a agregar. Haga clic


en Finalizar.
Figura 5.30 Asistente para la configuracin de orgenes de datos Entidad
Pantalla 3

5.

El objeto de la ciudad ser de visualizacin en el panel Orgenes de datos. Si no


se muestra el panel Orgenes de datos, seleccione Datos, Mostrar orgenes de
datos en el men principal de Visual Studio. A continuacin, se muestra el panel
acoplado.
Figura 5.31 Fuentes de datos

Uso de la fuente de datos en un formulario Windows Forms


Ahora aprender cmo utilizar el origen de datos en un formulario Windows Forms.
1.

En el panel Orgenes de datos, seleccione el origen de datos que acaba de crear y


arrastre y sultelo en el Diseador de formularios. Por defecto, el objeto de origen de
datos se agregar como un control Data Grid Vista.
Nota
El control Data Grid Vista est obligado a cityBindingSource , y el
control del navegador est obligado acityBindingNavigator .
Figura 5.32 Datos de formularios

2.

Guardar y reconstruir la solucin antes de continuar.

Agregar cdigo para llenar el Data Grid Vista


Ahora est listo para agregar cdigo para asegurarse de que el control de Data Grid Vista
se llenar con los datos de la tabla de base de la ciudad.
1.

Haga doble clic en el formulario para acceder a su cdigo.

2.

Aadir un cdigo para crear una instancia de objeto EntityContainer del modelo de
datos de entidad y recuperar datos de la base de datos para rellenar el control.
Figura 5.33 Agregar cdigo al formulario

3.

Guardar y reconstruir la solucin.

4.

Ejecutar la solucin. Asegrese de que la rejilla se rellena y se puede navegar por


la base de datos.
Figura 5.34 El control de cuadrcula poblado

Agregar cdigo a guardar los cambios en la base de datos


Ahora va a agregar el cdigo para que pueda guardar los cambios en la base de datos.
El componente de origen de enlace asegura que tambin se hacen los cambios realizados
en la vista de control de cuadrcula de datos para las clases de entidad ligados a ella. Sin
embargo, esos datos necesita ser salvado de vuelta de las entidades a la propia base de
datos. Esto se puede lograr por la habilitacin del botn Guardar en el control Navigator, y
la adicin de algo de cdigo.
1.

En el Diseador de formularios, haga clic en el icono Guardar de la barra de


herramientas de formulario y asegrese de que su propiedad Enabled se establece en
True.
Figura 5.35 Botn Guardar Activado

2.

Haga doble clic en el icono Guardar de la barra de herramientas Formato para


visualizar su cdigo.

3.

Ahora tendr que aadir cdigo para asegurar que los datos se guardan en la
base de datos cuando se hace clic en el botn Guardar en la aplicacin.
Figura 5.36 Adicin Guardar cdigo al formulario

4.

Una vez que se ha aadido el cdigo, puede guardar la solucin y


reconstruirlo. Ejecutar la aplicacin y verificar que los cambios realizados en la
cuadrcula se guardan.

Entity Framework
Definicin:
Entity Framework es una tecnologa desarrollada por Microsoft, que a travs de ADO.NET
genera un conjunto de objetos que estn directamente ligados a una Base de Datos,
permitiendo a los desarrolladores manejar dichos objetos en lugar de utilizar lenguaje SQL
contra
la
Base
de
Datos.
Por
dnde
Empezar?
El primer paso para comenzar a trabajar con Entity Framework es agregar a un proyecto de
Visual Studio un fichero del tipo Entity Data Model (EDM).

Al agregar el fichero EDM, se mostrar en pantalla un asistente que nos guiar durante el
proceso
de
creacin.
El primer paso va a ser indicar la situacin de partida, es decir, si disponemos o no de una
Base
de
Datos
creada:

Si existe la Base de Datos, podremos indicar el origen de Datos, y generar el modelo.


Si por el contrario, es necesario llevar a cabo la creacin de la Base de Datos, desde
Visual Studio podremos llevar a cabo la definicin de las tablas / entidades, y podremos
generar un script con las instrucciones SQL necesarias para definir la Base de Datos en
un servidor.

Qu

tipos

de

Orgenes

de

Datos

tenemos

disponibles?

Los posibles orgenes de Datos que vienen instalados por defecto con Visual Studio son
vlidos
para
SQL
Server:

Sql Server.
Sql Compact.
Sql Azure

Existen componentes desarrollados por terceros que nos permiten realizar conexiones contra
otras
Bases
de
Datos.
Algunos
ejemplos
son:

Oracle: Actualmente existe una beta del driver ODP.NET para conectarse a Bases de
Datos Oracle desde su versin 11g.
DevArt: Ha desarrollado una serie de conectores para Oracle, MySql, PostgreeSql o
SQLLite que permiten utilizacin con EF.

Qu

sucede

si

ya

disponemos

de

una

Base

de

Datos?

Si ya existe una Base de Datos creada, despus de generar nuestro fichero EDM y de
configurar el Origen de Datos, podremos indicar los objetos de nuestra Base de Datos que
vamos a utilizar desde nuestro modelo. Son utilizables objetos como: Tablas, Vistas,
Procedimientos
Almacenados
o
Funciones.
Una vez seleccionados aquellos objetos a utilizar, concluiremos con el asistente del modelo, y

dentro de la solucin de Visual Studio, podremos observar un fichero con Extensin EDMX, el
cual se abrir, y mostrar en el IDE, el conjunto de Tablas y las relaciones definidas en el
modelo y que coinciden con las tablas seleccionadas de la Base de Datos.
Desde esta pantalla, se podrn visualizar las relaciones entra las tablas de la Base de Datos y
las entidades definidas en el modelo, as como los tipos de datos.

si

no

disponemos

de

Base

de

Datos?

Visual Studio nos va a permitir definir de manera visual las Entidades y las relaciones entre
ellas
desde
el
propio
diseador
del
modelo.
Una vez diseadas nuestras entidades, podremos llevar a cabo la creacin de la Base de
Datos, gracias a la generacin de un script con las instrucciones SQL necesarias para dicho
proceso.
Conclusiones

Podramos llegar a decir que Entity Framework es una forma de abstraerse del tipo de Base
de Datos que existe detrs de un sistema, gracias al mapeo de las tablas hacia entidades.
Hemos visto una primera aproximacin a su definicin y como dar los primeros pasos.

http://translate.google.com.gt/translate?
hl=es&sl=en&u=http://www.entityframeworktutorial.net/&prev=search