Sei sulla pagina 1di 6

Cmo usar el Asistente para Entity Data Model (Entity

Framework)
En este tema se muestra cmo utilizar el Asistente para Entity Data Model con el fin de generar los archivos
de asignacin que definen el modelo Entity Data Model (EDM) deAdventureWorks Sales y cmo configurar un
proyecto de Visual Studio para utilizar Entity Framework. Este modelo y la configuracin se utilizan en todos
los temas relacionados con tareas de Entity Framework.
El Asistente para Entity Data Model es un componente de Visual Studio que se inicia con Visual Studio 2008
Service Pack 1 (SP1). Para obtener ms informacin, vea Asistente para Entity Data Model.
En lugar de utilizar el Asistente para Entity Data Model, puede crear manualmente el modelo EDM y
configurar el proyecto para utilizar Entity Framework. Para obtener ms informacin, vea Cmo definir
manualmente un modelo Entity Data Model (Entity Framework) y Cmo configurar manualmente un proyecto
de Entity Framework.

Para agregar la plantilla de elementos de ADO.NET Entity Data


Model
1.
2.
3.

En el men Proyecto, haga clic en Agregar nuevo elemento.


En el panel Plantillas, seleccione ADO.NET Entity Data Model.
Escriba AdventureWorks.edmx como nombre del modelo y, a continuacin, haga clic en Agregar.
Se muestra la primera pgina del Asistente para Entity Data Model.

Para generar los archivos de EDM


1.
2.
3.

4.

5.

6.

En el cuadro de dilogo Elegir contenido de Model, seleccione Generar desde la base de


datos. Despus, haga clic en Siguiente.
Haga clic en el botn Nueva conexin.
En el cuadro de dilogo Propiedades de conexin, escriba el nombre del servidor, seleccione el
mtodo de autenticacin, escriba AdventureWorks como nombre de la base de datos y, a
continuacin, haga clic en Aceptar.
El cuadro de dilogo Elegir la conexin de datos se actualiza con la configuracin de la conexin
de la base de datos.
Asegrese de que la casilla Guardar configuracin de conexin de entity en App.Config
como: est activada y de que el valor est establecido enAdventureWorksEntities. Despus,
haga clic en Siguiente.
En el cuadro de dilogo Elija los objetos de base de datos, borre todos los objetos,
expanda Tablas y seleccione los objetos de tabla siguientes:
o
Address
o
Contact
o
Product
o
SalesOrderHeader
o
SalesOrderDetail
Haga clic en Finalizar para completar el asistente.
El asistente realiza las tareas siguientes:
o
Agrega referencias a los espacios de
nombres System.Data.Entity, System.Runtime.Serialization y System.Security.
o
Genera el archivo AdventureWorks.edmx que define el modelo EDM.
o
Crea un archivo de cdigo fuente que contiene las clases que se generaron de acuerdo con
el modelo EDM. Puede ver el archivo de cdigo fuente expandiendo el archivo .edmx en
el Explorador de soluciones.

Nota

En los proyectos de Visual Basic, debe hacer clic en el botn Mostrar todos los archivos en el Expl
soluciones para ver los archivos de cdigo fuente.
o

Crea un archivo App.Config.

7.

En la pgina de cdigos de la aplicacin, agregue las instrucciones using siguientes (Imports en


Visual Basic):

using
using
using
using
using
using
using
using
using

System;
System.Linq;
System.Collections.Generic;
System.Text;
System.Data;
System.Data.Common;
System.Data.Objects;
System.Data.Objects.DataClasses;
AdventureWorksModel;

Para definir la cadena de conexin del


EDM

Abra el archivo de configuracin de la aplicacin del proyecto (app.config) y, a continuacin,


agregue la siguiente cadena de conexin:
XML
<connectionStrings>
<add name="AdventureWorksEntities"
connectionString="metadata=.\AdventureWorks.csdl|.\AdventureWorks.ssdl|.\AdventureWorks.msl;
provider=System.Data.SqlClient;provider connection string='Data Source=localhost;
Initial Catalog=AdventureWorks;Integrated Security=True;Connection Timeout=60;
multipleactiveresultsets=true'" providerName="System.Data.EntityClient" />
<add name="NorthwindEntities"
connectionString="metadata=.\Northwind.csdl|.\Northwind.ssdl.\Northwind.msl;
provider=System.Data.SqlClient;provider connection string='Data Source=localhost;
Initial Catalog=Northwind;Integrated Security=True;MultipleActiveResultSets=True'"
providerName="System.Data.EntityClient" />
</connectionStrings>

Si el proyecto no tiene un archivo de configuracin de la aplicacin, puede agregar uno


seleccionando Agregar nuevo elemento en el men Proyecto, seleccionando la
categora General, Archivo de configuracin de la aplicacin y, despus, haciendo clic
en Agregar.

Cmo usar EdmGen.exe para generar un modelo Entity Data


Model (Entity Framework)
.NET Framework 3.5
Otras versiones
Este tema an no ha recibido ninguna valoracin - Valorar este tema
En este tema se muestra cmo usar la herramienta EDM Generator (EdmGen.exe) para generar un modelo
Entity Data Model (EDM) basndose en la base de datos School. Si usa EdmGen.exe para generar un modelo
EDM, an tendr que configurar el proyecto de Visual Studio de modo que use Entity Framework. Para
obtener ms informacin, vea Cmo configurar manualmente un proyecto de Entity Framework.

Nota
Un EDM generado mediante EdmGen.exe incluye los objetos de la base de datos. Si
desea generar un EDM que slo incluya objetos concretos, use el asistente de Entity Data
Model. Para obtener ms informacin, vea Cmo usar el Asistente para Entity Data
Model (Entity Framework).
Para generar el modelo School para un proyecto de Visual Basic con
EdmGen.exe
1.
2.
3.
4.
5.
6.

Cree la base de datos School. Para obtener ms informacin, vea Crear la aplicacin de ejemplo
School (Tutorial rpido de Entity Framework).
En el smbolo del sistema, ejecute el comando siguiente sin los saltos de lnea:
"%windir%\Microsoft.NET\Framework\v3.5\edmgen.exe" /mode:fullgeneration
/c:"Data Source=%datasourceserver%; Initial Catalog=School; Integrated Security=SSPI"
/project:School /entitycontainer:SchoolEntities /namespace:SchoolModel /language:VB

Para generar el modelo School para un proyecto de C# con EdmGen.exe


1.
2.
3.
4.
5.

Cree la base de datos School. Para obtener ms informacin, vea Crear la aplicacin de ejemplo
School (Tutorial rpido de Entity Framework).
En el smbolo del sistema, ejecute el comando siguiente sin los saltos de lnea:
"%windir%\Microsoft.NET\Framework\v3.5\edmgen.exe" /mode:fullgeneration
/c:"Data Source=%datasourceserver%; Initial Catalog=School; Integrated Security=SSPI"
/project:School /entitycontainer:SchoolEntities /namespace:SchoolModel /language:CSharp

Cmo generar previamente vistas para mejorar el rendimiento


de las consultas (Entity Framework)
.NET Framework 3.5
Otras versiones

Este tema an no ha recibido ninguna valoracin - Valorar este tema


Para que una consulta se pueda ejecutar con un Entity Data Model (EDM), el Entity Framework genera un
conjunto de vistas que se utilizan para tener acceso a la base de datos. El Entity Framework genera vistas la
primera vez que se ejecuta una consulta y, a continuacin, las mantiene durante la vigencia de la instancia
de ObjectContext. Dado que la generacin de la vista forma una parte significativa del costo total que supone
ejecutar una nica consulta, Entity Framework permite generar previamente estas vistas e incluirlas en el
proyecto compilado. Adems de generar y validar los archivos de asignacin y de modelo del EDM, tambin
se usa la herramienta Generador de EDM (EdmGen.exe) para generar previamente estas vistas. En este tema
se muestra cmo utilizar EdmGen.exe para generar previamente las vistas del modelo School y agregar el
archivo de vista al proyecto. El modelo School se crea en el Tutorial rpido de Entity Framework. El
procedimiento final muestra cmo volver a agregar u asignar los archivos como recursos incrutados en una
aplicacin web ASP.NET.

Nota

Los procedimientos de este tema usan los eventos previos o posteriores a la generacin de Visual Studio, qu
admiten en los sitios web ASP.NET. Para generar previamente las vistas para un EDM que usa un sitio web
debera crear el EDM en una biblioteca de clases independiente, utilizar el procedimiento siguiente para el p
biblioteca de clase y hacer referencia al mismo en el proyecto de sitio web ASP.NET. O bien, considere usar
de aplicacin web ASP.NET en lugar de un sitio web ASP.NET. Esto le permite incluir las vistas pregenerad
proyecto que la aplicacin web ASP.NET utilizando los procedimientos de este tema.
Las vistas pregeneradas se validan en tiempo de ejecucin para asegurarse de que x<son coherentes con la
versin actual del EDM. Este procedimiento se asegura de que las vistas coinciden con el EDM. Puede omitir
el primer procedimiento si el proceso de generacin ya est generando los archivos de asignacin y modelo
en el directorio de salida. Los procedimientos de este tema usan el modelo School. Puede generar este
modelo completando el Tutorial rpido (Entity Framework).

Nota
Se requiere Visual Studio 2008 Service Pack 1 (SP1) para realizar los procedimientos se este tema.

Para generar los archivos de asignacin y modelo para el


modelo School en el directorio de salida
1.
2.

3.

En el Explorador de soluciones, haga doble clic en el archivo School.edmx.


De esta forma se muestra el modelo School en el Entity Designer.
En el Explorador de modelos, seleccione el modelo SchoolModel y cambie Procesamiento de
artefactos de metadatos por Copiar en el directorio de resultados.
De esta forma se asegura de que los archivos de asignacin y modelo se generan en el directorio de
resultados.
Genere la solucin.
De esta forma se generan los archivos de asignacin y modelo en el directorio de salida.

Para agregar la generacin de la vista a un proyecto Visual


Basic
1.
2.
3.
4.
5.

6.
7.
8.
9.

En el Explorador de soluciones, seleccione el proyecto para el que desea especificar el evento de


generacin.
En el men Proyecto, haga clic en Propiedades del Proyecto.
En la pgina Propiedades, haga clic en la ficha Compilar.
Haga clic en el botn Generar eventos.
En el cuadro de dilogo Generar eventos, agregue el evento anterior a la generacin siguiente, sin
saltos de lnea:

"%windir%\Microsoft.NET\Framework\v3.5\EdmGen.exe" /nologo /language:VB


/mode:ViewGeneration "/inssdl:$(TargetDir)School.ssdl"
"/incsdl:$(TargetDir)School.csdl" "/inmsl:$(TargetDir)School.msl"
"/outviews:$(ProjectDir)School.Views.vb"

10. Haga clic en Aceptar.


11. Cierre la pgina Propiedades del proyecto.
12. Genere la solucin.
De esta forma se genera el archivo de vista School.Views.cs.
13. En el Explorador de soluciones, haga clic con el botn secundario en el nombre del proyecto y
seleccione Agregar elemento existente.
14. En el cuadro de dilogo Agregar elemento existente, navegue a la carpeta raz del proyecto y
seleccione el archivo School.Views.vb.
15. Haga clic en Agregar.
16. Genere la solucin.

Para agregar la generacin de la vista a un proyecto de C#


1.
2.
3.
4.

En el Explorador de soluciones, seleccione el proyecto para el que desea especificar el evento de


generacin.
En el men Proyecto, haga clic en Propiedades.
Seleccione la ficha Generar eventos.
En la ventana Lnea de comandos del evento anterior a la compilacin, agregue el evento
anterior a la generacin siguiente, sin saltos de lnea:

5. "%windir%\Microsoft.NET\Framework\v3.5\EdmGen.exe" /nologo
/language:CSharp
6. /mode:ViewGeneration "/inssdl:$(TargetDir)School.ssdl"
7. "/incsdl:$(TargetDir)School.csdl" "/inmsl:$(TargetDir)School.msl"
8. "/outviews:$(ProjectDir)School.Views.cs"
9.
10.

11.
12.
13.

Genere la solucin.
De esta forma se genera el archivo de vista School.Views.cs.
En el Explorador de soluciones, haga clic con el botn secundario en el nombre del proyecto y
seleccione Agregar elemento existente.
Aparece el cuadro de dilogo Agregar elemento existente.
Navegue a la carpeta raz del proyecto y seleccione el archivo School.Views.cs.
Haga clic en Agregar.
Genere la solucin.

Para volver a agregar los archivos de asignacin y modelo


como recursos incrustados para los proyectos ASP.NET
1.
2.
3.
4.

En el men Proyecto, haga clic en Agregar elemento existente.


Vaya al directorio de resultados para el proyecto, seleccione School.csdl y, a continuacin, haga clic
en aceptar.
En el Explorador de soluciones, seleccione el archivo de metadatos .csdl.
En Propiedades, establezca Accin de compilacin en Recurso incrustado.

5.
6.

Repita los pasos 1 a 3 para los archivos School.ssdl y School..msl.


En el Explorador de soluciones, haga doble clic en el archivo App.config y, a continuacin,
modifique el parmetro Metadata del atributo connectionStringbasndose en uno de los
formatos siguientes:
o
Metadata= res://<assemblyFullName>/<resourceName>;
o
Metadata= res://*/<resourceName>;
o
Metadata=res://*;
El resourceName pueden incluir el espacio de nombres de proyecto. Para obtener ms
informacin, vea Cadenas de conexin (Entity Framework).

Potrebbero piacerti anche