Escenarios de asignación de Entity Data Model (escenarios de aplicación)

Entity Framework admite varias maneras de asignar modelos conceptuales a datos relacionales en un Entity Data Model (EDM). Para obtener más información, vea Modelado de datos en Entity Framework.

Entity Framework admite en este momento los siguientes escenarios de asignación de Entity Data Model(EDM).

Escenario de asignación Descripción

Asignación simple

En este escenario de asignación, cada entidad en el modelo conceptual se asigna a una única tabla en el modelo de almacenamiento. Esta es la asignación predeterminada generada por las herramientas de Entity Data Model. Para obtener más información, vea la Tutorial rápido (Entity Framework).

División de entidad

En este escenario de asignación, las propiedades de una única entidad en el modelo conceptual se asignan a las columnas de dos o más tablas base. En este escenario, las tablas deben compartir una clave principal común. Para obtener más información, vea Cómo definir un modelo con una única entidad asignada a dos tablas.

Particiones horizontales en el modelo de almacenamiento

En este escenario de asignación, un único tipo de entidad en el modelo conceptual se asigna a dos o más tablas con el mismo esquema. La entidad se asigna en las tablas basadas en una condición definida en el modelo conceptual. Por ejemplo, la propiedad Boolean OnlineOrderFlag de la entidad SalesOrderHeader en el modelo Sales de AdventureWorks se podía utilizar para dividir los datos de entidad en tablas independientes en el origen de datos, con una tabla para los pedidos en línea y una segunda tabla para los pedidos sin conexión. Para obtener más información, vea Elemento Condition (MappingFragment).

Particiones horizontales en el modelo conceptual

En este escenario de asignación, varios tipos de entidad en el modelo conceptual que tienen las mismas propiedades se asignan a una única tabla. Se usa una cláusula de condición para especificar los datos de la tabla que pertenecen a cada tipo de entidad. Esta asignación es similar a la asignación de herencia de tabla por jerarquía.

Herencia de tabla por jerarquía

En este escenario de asignación, todos los tipos de una jerarquía de herencia se asignan a una única tabla. Una cláusula de condición se utiliza para definir los tipos de entidad. Para obtener más información, vea Cómo definir un modelo con herencia de tabla por jerarquía (Entity Framework).

Herencia de tabla por tipo

En este escenario de asignación, todos los tipos se asignan a tablas individuales. Las propiedades que pertenecen solamente a un tipo base o a un tipo derivado se almacenan en una tabla que se asigna a ese tipo. Para obtener más información, vea Cómo definir un modelo con herencia de tabla por tipo (Entity Framework).

Herencia de tabla por tipo concreto

En este escenario de asignación, cada uno de los tipos no abstractos se asigna a una tabla individual. Cada una de estas tablas debe tener columnas que se asignan a todas las propiedades del tipo derivado, incluso las propiedades heredadas del tipo base.

Varios conjuntos de entidades por tipo

En este escenario de asignación, un solo tipo de entidad se expresa en dos o más conjuntos de entidades independientes en el modelo conceptual. Cada conjunto de entidades se asigna a una tabla independiente en el modelo de almacenamiento. Para obtener más información, vea Cómo definir un modelo con múltiples conjuntos de entidades por tipo (Entity Framework).

Tipos complejos

Un tipo complejo es una propiedad no escalar de un tipo de entidad que no tiene una propiedad clave. Un tipo complejo puede contener otros tipos complejos anidados. Los tipos complejos se asignan a las tablas en el modelo de almacenamiento. Para obtener más información, vea Cómo definir un modelo con un tipo complejo (Entity Framework).

Asignación de importación de función

En este escenario, un procedimiento almacenado del modelo de almacenamiento se asigna a un elemento FunctionImport del modelo conceptual. Esta función se ejecuta para devolver los datos de la entidad usando el procedimiento almacenado asignado. Para obtener más información, vea Cómo definir un modelo con un procedimiento almacenado (Entity Framework).

Asignación de función de modificación

En este escenario, los procedimientos almacenados se definen en el modelo de almacenamiento que inserta, actualiza y elimina los datos. Estas funciones se definen para un tipo de entidad con el fin de proporcionar la funcionalidad de actualización para un tipo de entidad concreto. Para obtener más información, vea Compatibilidad con los procedimientos almacenados (Entity Framework).

Definir la asignación de consulta

En este escenario, una consulta se define en el modelo de almacenamiento que representa una tabla en el origen de datos. La consulta se expresa en el lenguaje de consultas nativo del origen de datos, como Transact-SQL, al asignar a una base de datos de SQL Server. Este elemento DefiningQuery se asigna a un tipo de entidad en el modelo conceptual. La consulta se define en el lenguaje de consultas específico del almacén. Para obtener más información, vea Elemento DefiningQuery (EntityContainer SSDL). Al utilizar una consulta de definición, las actualizaciones no se pueden conservar en el origen de datos utilizando el proceso de actualización estándar. Las actualizaciones se pueden realizar definiendo las asignaciones de función de modificación. Para obtener más información, vea Compatibilidad con los procedimientos almacenados (Entity Framework).

Asignación de vistas de consulta

En este escenario, una asignación de sólo lectura se define entre los tipos de entidad del modelo conceptual y las tablas relacionales del modelo de almacenamiento. Esta asignación se define según una consulta de Entity SQL contra el modelo de almacenamiento que devuelve las entidades del modelo conceptual. Para obtener más información, vea Elemento QueryView (EntitySetMapping). Al utilizar una vista de consulta, las actualizaciones no se pueden conservar en el origen de datos utilizando el proceso de actualización estándar. Las actualizaciones se pueden realizar definiendo las asignaciones de función de modificación. Para obtener más información, vea Compatibilidad con los procedimientos almacenados (Entity Framework).

Asignación AssociationSet

Las asociaciones definen las relaciones entre las entidades. En una asignación simple con una asociación uno a uno o uno a varios, las asociaciones que definen las relaciones en el modelo conceptual se asignan a las asociaciones en el modelo de almacenamiento. También se admiten las siguientes asignaciones más avanzadas de conjuntos de asociaciones:

  • Asociaciones varios a varios. Ambos extremos de la asociación se asignan a una tabla de vínculos en el modelo de almacenamiento.

  • Auto-asociación. Admite una asociación entre dos entidades del mismo tipo, como un empleado con una asociación a otro empleado.

  • Asociaciones entre tipos derivados. Esta asignación admite una asociación entre un tipo derivado en una jerarquía y un tipo derivado en una segunda jerarquía.

Para obtener más información, vea Asociación (EDM).

Para obtener información sobre los escenarios de asignación que se admiten en las herramientas de Entity Data Model, vea Información general sobre ADO.NET Entity Data Model Designer.

Vea también

Conceptos

Herencia de Entity Data Model (escenarios de las aplicaciones)
Recursos de Entity Framework
Consultar un Entity Data Model (escenarios de las aplicaciones)
Programar clases de Entity Data Model (escenarios de las aplicaciones)
Definir un Entity Data Model (escenarios de las aplicaciones)

Otros recursos

Guía de programación (Entity Framework)
Ejemplos (Entity Framework)