Generador de EDM (EdmGen.exe)
EdmGen.exe es una herramienta de línea de comandos utilizada para trabajar con archivos de modelo y asignación de Entity Framework. Puede utilizar la herramienta EdmGen.exe para lo siguiente:
Conectarse a un origen de datos utilizando un proveedor de datos .NET Framework específico del origen de datos y generar los archivos de asignación (.msl), modelo conceptual (.csdl) y modelo de almacenamiento (.ssdl) utilizados por Entity Framework. Para obtener más información, vea Cómo: Usar EdmGen.exe para generar los archivos de asignación y de modelo.
Validar un modelo existente. Para obtener más información, vea Cómo: Usar EdmGen.exe para validar los archivos de asignación y de modelo.
Generar un o archivo de código de C# o Visual Basic que contenga las clases de objetos generados a partir de un archivo de modelo conceptual (.csdl). Para obtener más información, vea Cómo: Usar EdmGen.exe para generar código de capa de objeto.
Generar un archivo de código de C# o Visual Basic que contenga las vistas generadas previamente para un modelo existente. Para obtener más información, Cómo: Generar previamente vistas para mejorar el rendimiento de la consulta.
La herramienta EdmGen.exe se instala en el directorio .NET Framework. En muchos casos, se encuentra en C:\windows\Microsoft.NET\Framework\v4.0. Para los sistemas de 64 bits, se encuentra en C:\windows\Microsoft.NET\Framework64\v4.0. También puede tener acceso a la herramienta EdmGen.exe desde el símbolo del sistema de Visual Studio (haga clic en Inicio, seleccione Todos los programas, Microsoft Visual Studio 2010, Visual Studio Tools y haga clic en Símbolo del sistema de Visual Studio 2010).
Sintaxis
EdmGen /mode:choice [options]
Modo
Cuando use la herramienta EdmGen.exe, deberá especificar uno de los modos siguientes.
Mode | Descripción |
---|---|
/mode:ValidateArtifacts |
Valida los archivos .csdl, .ssdl y .msl, y muestra los errores o advertencias. Esta opción requiere al menos uno de los argumentos /inssdl o /incsdl . Si se especifica /inmsl , también se requieren los argumentos /inssdl y /incsdl . |
/mode:FullGeneration |
Utiliza la información de la conexión a bases de datos especificada en la opción /connectionstring y genera los archivos .csdl, .ssdl, .msl, de nivel de objetos y de vista.Esta opción requiere un argumento /connectionstring y un argumento /project o bien argumentos /outssdl , /outcsdl , /outmsdl , /outobjectlayer , /outviews , /namespace y /entitycontainer . |
/mode:FromSSDLGeneration |
Genera los archivos .csdl y .msl, el código fuente y las vistas a partir del archivo .ssdl especificado. Esta opción requiere el /inssdl argumento y un /project argumento o los /outcsdl argumentos , /outmsl , /outviews /outobjectlayer , , /namespace y /entitycontainer . |
/mode:EntityClassGeneration |
Crea un archivo de código fuente que contiene las clases que se generaron a partir del archivo .cdsl. Esta opción requiere el argumento /incsdl y el argumento /project u /outobjectlayer . El argumento /language es opcional. |
/mode:ViewGeneration |
Crea un archivo de código fuente que contiene las vistas generadas a partir de los archivos .csdl, .ssdl y .msl. Esta opción requiere los /inssdl argumentos , /incsdl /inmsl , y /project o /outviews . El argumento /language es opcional. |
Opciones
Opción | Descripción |
---|---|
/p[roject]: <string> |
Especifica el nombre del proyecto que se usará. El nombre del proyecto se utiliza como valor predeterminado para la configuración del espacio de nombres, el nombre de los archivos de modelo y asignación, el nombre del archivo de origen del objeto y el nombre del archivo de código fuente de la generación de las vistas. El nombre del contenedor de entidades tiene el valor <project>Context. |
/prov[ider]: <string> |
Nombre del proveedor de datos .NET Framework que se va a utilizar para generar el archivo del modelo de almacenamiento (.ssdl). El proveedor predeterminado es el Proveedor de datos .NET Framework para SQL Server (System.Data.SqlClient). |
/c[onnectionstring]: <connection string> |
Especifica la cadena que se utiliza para conectarse al origen de datos. |
/incsdl: <file> |
Especifica el archivo .csdl o un directorio donde se encuentran los archivos .csdl. Se puede especificar este argumento varias veces para poder especificar varios directorios o archivos .csdl. Especificar varios directorios puede ser útil para generar las clases (/mode:EntityClassGeneration ) o las vistas (/mode:ViewGeneration ) cuando el modelo conceptual se divide en varios archivos. Esto también puede ser útil si se desea validar varios modelos (/mode:ValidateArtifacts ). |
/refcsdl: <file> |
Especifica el archivo .csdl adicional o los archivos que se usan para resolver las referencias en el archivo .csdl de origen. (El archivo .csdl de origen es el archivo que determina la opción /incsdl ). El archivo /refcsdl contiene los tipos de los que el archivo .csdl de origen depende. Este argumento se puede especificar varias veces. |
/inmsl: <file> |
Especifica el archivo .msl o un directorio donde se encuentran los archivos .msl. Este argumento se puede especificar varias veces para poder especificar varios directorios o archivos .msl. Especificar varios directorios puede ser útil para generar las vistas (/mode:ViewGeneration ) cuando el modelo conceptual se divide en varios archivos. Esto también puede ser útil si se desea validar varios modelos (/mode:ValidateArtifacts ). |
/inssdl: <file> |
Especifica el archivo .ssdl o un directorio donde se encuentra. Se puede especificar este argumento varias veces para poder especificar varios directorios o archivos .ssdl. Esto puede ser útil si se desea validar varios modelos (/mode:ValidateArtifacts) . |
/outcsdl: <file> |
Especifica el nombre del archivo .csdl que se creará. |
/outmsl: <file> |
Especifica el nombre del archivo .msl que se creará. |
/outssdl: <file> |
Especifica el nombre del archivo .ssdl que se creará. |
/outobjectlayer: <file> |
Especifica el nombre del archivo de código fuente que contiene los objetos generados a partir del archivo .csdl. |
/outviews: <file> |
Especifica el nombre del archivo de código fuente que contiene las vistas que se generaron. |
/language: [VB|CSharp] |
Especifica el lenguaje de los archivos de código fuente generados. El lenguaje predeterminado es C#. |
/namespace: <string> |
Especifica el espacio de nombres del modelo que se va a utilizar. El espacio de nombres se establece en el archivo .csdl al ejecutar /mode:FullGeneration o /mode:FromSSDLGeneration . El espacio de nombres no se usa al ejecutar /mode:EntityClassGeneration . |
/entitycontainer: <string> |
Especifica el nombre que se va a aplicar al elemento <EntityContainer> en los archivos de modelo y asignación generados. |
/pl[uralize] |
Aplica las reglas del idioma inglés para singulares y plurales a los nombres de Entity , EntitySet y NavigationProperty en el modelo conceptual. Esta opción realizará las siguientes acciones:- Poner todos los nombres de EntityType en singular.- Poner todos los nombres de EntitySet en plural.- Por cada NavigationProperty que devuelva una entidad como máximo, poner el nombre en singular.- Por cada NavigationProperty que devuelva más de una entidad, poner el nombre en plural. |
/SuppressForeignKeyProperties or /nofk |
Evita que las columnas de clave externa se expongan como propiedades escalares en tipos de entidad en el modelo conceptual. |
/help o ? |
Muestra las opciones y la sintaxis de los comandos para la herramienta. |
/nologo |
Evita que se muestre el mensaje de copyright. |
/targetversion: <string> |
La versión de .NET Framework que se usará para compilar el código generado. Las versiones admitidas son 4 y 4.5. El valor predeterminado es 4. |
En esta sección
Procedimiento para usar EdmGen.exe para generar los archivos de asignación y de modelo
Procedimiento para usar EdmGen.exe para generar código de capa de objeto
Procedimiento para usar EdmGen.exe para validar los archivos de asignación y de modelo