Información general sobre el archivo .edmx (Entity Framework)
Un archivo .edmx es un archivo XML que define un modelo conceptual, un modelo de almacenamiento y la asignación entre estos modelos. Un archivo .edmx también contiene información que utiliza ADO.NET Entity Data Model Designer (Entity Designer) para presentar un modelo gráficamente. Para crear un archivo .edmx se recomienda usar el Asistente para Entity Data Model. Para obtener más información, vea Cómo: Crear un nuevo archivo .edmx (Entity Data Model Tools).
Se efectúan cambios en un archivo .edmx cuando se modifica el modelo en Entity Designer y cuando se actualiza el modelo en el Asistente para actualizar modelo basándose en los cambios de la base de datos subyacente. Para obtener más información, vea Asistente para actualizar modelo (herramientas de Entity Data Model). Hay también algunos contextos en los que podría tener que modificar un archivo .edmx manualmente. Para obtener más información, vea Editar un archivo .edmx manualmente (Entity Framework).
De forma predeterminada, un archivo .edmx se abre en Entity Designer. Sin embargo, también se puede abrir un archivo .edmx en el Editor XML, siguiendo estos pasos:
Asegúrese de que el proyecto esté abierto en Visual Studio.
Haga clic con el botón secundario en el archivo .edmx en el Explorador de soluciones y seleccione Abrir con...
Seleccione Editor XML y, a continuación, haga clic en Aceptar.
Contenido del archivo .edmx
A continuación se muestra desglose detallado del contenido de un archivo .edmx. Para obtener más detalles, vea los esquemas de .edmx en su directorio de Visual Studio XML.
Nota: |
---|
El esquema para las aplicaciones que tienen como destino la versión 4 de .NET Framework se define en el archivo Microsoft.Data.Entity.Design.Edmx_2.xsd.El esquema para las aplicaciones que tienen como destino la versión 3.5 de .NET Framework SP1 se define en el archivo Microsoft.Data.Entity.Design.Edmx_1.xsd. |
Contenido del motor en tiempo de ejecución (edmx:Runtime)
Esta sección contiene información que facilita la generación de los archivos de modelo y asignación para las aplicaciones Entity Framework. Para obtener más información, vea la propiedad Build Action en la sección Propiedades del archivo .edmx, más adelante.
Nota: |
---|
Un archivo .edmx se agrega automáticamente a una aplicación que hace referencia a un servicio de ADO.NET Data Services.En este caso, el archivo .edmx contiene un nodo edmx:DataServices, no un nodo edmx:Runtime.Para obtener más información, vea ADO.NET Data Services Framework. |
Contenido del modelo de almacenamiento (edmx:StorageModels): en esta sección se explica el esquema de la base de datos de destino y está escrita en lenguaje de definición de esquemas de almacenamiento (SSDL). Para obtener más información, vea SSDL Specification y EntityContainer Element (SSDL).
Contenido del modelo conceptual (edmx:ConceptualModels): en esta sección se definen los tipos de entidad, tipos complejos, asociaciones, contenedores de entidad, conjuntos de entidades y conjuntos de asociaciones en el dominio de aplicación. Esta sección está escrita en el lenguaje de definición de esquemas conceptuales (CSDL). Para obtener más información, vea CSDL Specification y EntityContainer Element (CSDL).
Contenido de asignación (edmx:Mappings): en esta sección se explica la asignación entre el modelo conceptual y la base de datos de destino y está escrita en el lenguaje de especificación de asignaciones (MSL). Para obtener más información, vea MSL Specification.
Contenido de Designer (edmx:Designer)
Esta sección contiene información utilizada por Entity Designer para presentar un modelo conceptual gráficamente y para definir algunas propiedades del modelo conceptual y de tiempo de diseño.
Nota: |
---|
Un archivo .edmx se agrega automáticamente a una aplicación que hace referencia a un servicio de ADO.NET Data Services.En este caso, el archivo .edmx no contiene un nodo edmx:Designer y no está visible con Entity Designer.Para obtener más información, vea ADO.NET Data Services Framework. |
Contenido de conexión (edmx:Connection): en esta sección se explican las propiedades del modelo conceptual que afectan a la cadena de conexión. Actualmente, la única propiedad que puede establecerse en esta sección es MetadataArtifactProcessing. Para obtener más información, vea Connection Strings.
Contenido de las opciones (edmx:Options): en esta sección se explican las propiedades opcionales del modelo conceptual. Actualmente solo la propiedad ValidateOnBuild se establece aquí.
Diagramas (edmx:Diagrams): esta sección contiene información utilizada por Entity Designer para presentar una presentación gráfica del modelo conceptual.
Propiedades del modelo conceptual
Las propiedades de un modelo conceptual se definen en un archivo .edmx. La siguiente lista describe las propiedades del modelo conceptual que están visibles en la ventana Propiedades de Visual Studio:
Nota: |
---|
Las propiedades del modelo conceptual no son las mismas que las del propio archivo .edmx.Para obtener más información, vea la sección .edmx File Properties, más adelante. |
- Code Generation Strategy
Activa o desactiva la generación de código de nivel de objeto predeterminado para el modelo seleccionado. El valor Ninguno desactiva la generación de código predeterminado. El valor Predeterminado activa la generación de código predeterminado. El valor se establece en Ninguno al agregar una plantilla de texto personalizada para generar el código de nivel de objeto. Para obtener más información, vea Información general sobre el código generado (Entity Data Model Designer) y Cómo: Personalizar la generación de código de nivel de objeto (Entity Data Model Designer).
- Connection String
La cadena de conexión de cliente de entidad. La cadena de conexión que se muestra se toma del archivo App.config o Web.Config del proyecto y tiene el mismo nombre que el Contenedor de entidades. Para obtener más información, vea Connection Strings.
- Database Generation Workflow
El flujo de trabajo que se ejecuta cuando está seleccionado Generar bases de datos desde modelo. Para obtener más información, vea Cómo: Generar una base de datos a partir de un modelo conceptual (Herramientas de Entity Data Model) y Cómo: Personalizar la generación de bases de datos (Asistente para generar base de datos).
- Database Schema Name
El nombre del esquema de la base de datos que se genera al crear una base de datos a partir de un modelo conceptual.
- DDL Generation Template
La plantilla de texto que se utiliza para generar un script de base de datos como parte del Flujo de trabajo de generación de base de datos. Para obtener más información, vea Cómo: Generar una base de datos a partir de un modelo conceptual (Herramientas de Entity Data Model) y Cómo: Personalizar la generación de bases de datos (Asistente para generar base de datos).
- Entity Container Access
Controla si la clase de contexto del objeto generado es Público o Interno.
- Entity Container Name
El nombre del contenedor de entidades del modelo conceptual. Para obtener más información, vea EntityContainer Element (CSDL).
- Lazy Loading Enabled
Controla si la propiedad LazyLoadingEnabled de la clase de contexto del objeto generado es verdadera o falsa. Para obtener más información, vea Información general sobre el código generado (Entity Data Model Designer).
- Metadata Artifact Processing
Controla si los archivos de modelo y asignación (archivos .csdl, .ssdl y .msl) se insertan en un ensamblado de salida o se copian en el directorio de resultados.
- Namespace
El espacio de nombres del modelo conceptual. Para obtener más información, vea Schema Element (CSDL).
- Pluralize New Objects
Controla si se pluralizan los nombres del conjunto de entidades nuevos y los nombres de las propiedades de navegación.
- Transform Related Text Templates On Save
Las plantillas de texto se relacionan con un archivo .edmx insertando el nombre del archivo en la plantilla de texto. Para obtener más información, vea Cómo: Personalizar la generación de código de nivel de objeto (Entity Data Model Designer). Si la propiedad Transform Related Text Templates On Save se establece en True, se procesan todas las plantillas de texto que se relacionan con el archivo .edmx cuando se guarda dicho archivo. Cuando la propiedad se establece en False, no se procesa ninguna de las plantillas de texto relacionadas.
- Validate On Build
Controla si se valida el modelo cuando se compila el proyecto.
Propiedades del archivo .edmx
Las propiedades Build Action, Custom Tool y Custom Tool Namespace son propiedades de un archivo .edmx. Para obtener más información sobre las propiedades Copy to Output Directory y File Name de un archivo .edmx, vea Propiedades del archivo en la documentación de Visual Studio.
Nota: |
---|
La propiedad del archivo Copy to Output Directory no se utiliza para especificar que los archivos de modelo y asignación se deben copiar en el directorio de resultados.En su lugar, use la propiedad Metadata Artifact Processing del modelo conceptual. |
Para ver y modificar las propiedades del archivo .edmx en Visual Studio, siga estos pasos:
Abra un proyecto que contiene un archivo .edmx en Visual Studio.
Haga clic con el botón secundario en el archivo .edmx en el Explorador de soluciones y seleccione Propiedades.
Las propiedades del archivo pueden verse en la ventana Propiedades.
La lista siguiente describe las propiedades Build Action, Custom Tool y Custom Tool Namespace de un archivo .edmx:
- Build Action
Cuando esta propiedad está establecida en EntityDeploy (el valor predeterminado), se crean tres archivos a partir del archivo .edmx cuando se ejecuta una compilación: el archivo del modelo conceptual (.csdl), el archivo del modelo de almacenamiento (.ssdl) y el archivo de asignación (.msl). Estos archivos se insertan como recursos o se copian al directorio de resultados, dependiendo del valor de la propiedad Metadata Artifact Processing del modelo. Para obtener más información, vea Cómo: Modificar las propiedades del modelo conceptual (herramientas de Entity Data Model). Para obtener información sobre otros valores de la propiedad Build Action, vea Propiedades de archivo.
- Custom Tool
Cuando esta propiedad está establecida en EntityModelCodeGenerator (el valor predeterminado) y Estrategia de generación de código está establecido en Predeterminado, Entity Designer crea un archivo de código fuente que contiene clases que se generaron a partir del modelo conceptual definido en el archivo .edmx. Para obtener más información, vea Información general sobre el código generado (Entity Data Model Designer).
- Custom Tool Namespace
De forma predeterminada, esta propiedad está vacía. Si se proporciona un valor, se utilizará como espacio de nombres para el código que genera la herramienta que se especifica en la propiedad Custom Tool. Para obtener más información, vea Información general sobre el código generado (Entity Data Model Designer).
Vea también
Conceptos
Información general sobre el código generado (Entity Data Model Designer)