End (Elemento) (CSDL)
En el lenguaje de definición de esquemas conceptuales (CSDL), el elemento End puede ser un elemento secundario del elemento Association o del elemento AssociationSet. En cada uno de los casos, el rol del elemento End, así como los atributos aplicables, son diferentes.
Elemento End como elemento secundario del elemento Association
Un elemento End (como elemento secundario del elemento Association) identifica el tipo de entidad existente en un extremo de una asociación, así como el número de instancias de tipo de entidad que pueden existir en dicho extremo. Los extremos de asociación se definen como parte de una asociación, y esta debe tener exactamente dos extremos. Es posible obtener acceso a las instancias de tipo de entidad situadas en un extremo de la asociación a través de las propiedades de navegación o las claves externas si estas se exponen en un tipo de entidad. Para obtener más información, vea elemento NavigationProperty, elemento ReferentialConstraint y Definir y administrar relaciones (Entity Framework).
Un elemento End puede tener los elementos secundarios siguientes (en el orden mostrado):
Documentation (cero o un elemento)
OnDelete (cero o un elemento)
Elementos Annotation (cero o más elementos)
Atributos aplicables
En la tabla siguiente se describen los atributos que se pueden aplicar al elemento End cuando es el elemento secundario de un elemento Association.
Nombre de atributo | Es necesario | Valor |
---|---|---|
Type |
Sí |
Nombre del tipo de entidad de un extremo de la asociación. |
Role |
No |
Nombre para el extremo de la asociación. Si no se proporciona ningún nombre, se usará el nombre del tipo de entidad del extremo de la asociación. |
Multiplicity |
Sí |
1, 0..1 o *, dependiendo del número de instancias de tipo de entidad que existan en el extremo de la asociación.
|
Nota: |
---|
Se puede aplicar cualquier número de atributos de anotación (atributos XML personalizados) al elemento End.Sin embargo, es posible que los atributos personalizados no pertenezcan a ningún espacio de nombres XML reservado para CSDL.Dos atributos personalizados cualesquiera no pueden tener nombres completos idénticos. |
Ejemplo
En el ejemplo siguiente se muestra un elemento Association que define la asociación CustomerOrders. Los valores de Multiplicity para cada End de la asociación indican que se pueden asociar varios Orders con un Customer, pero que solo se puede asociar un Customer con un Order. Además, el elemento OnDelete indica que todos los Orders relacionados con un determinado Customer y que se han cargado en la instancia de ObjectContext se eliminarán si se elimina el Customer.
<Association Name="CustomerOrders">
<End Type="ExampleModel.Customer" Role="Customer" Multiplicity="1" />
<End Type="ExampleModel.Order" Role="Order" Multiplicity="*">
<OnDelete Action="Cascade" />
</End>
</Association>
Elemento End como elemento secundario del elemento AssociationSet
El elemento End especifica un extremo de un conjunto de asociaciones. El elemento AssociationSet debe contener dos elementos End. La información contenida en un elemento End se usa para asignar un conjunto de asociaciones a un origen de datos. Para obtener más información, vea AssociationSetMapping (Elemento) (MSL) y EndProperty (Elemento) (MSL).
Un elemento End puede tener los elementos secundarios siguientes (en el orden mostrado):
Documentation (cero o un elemento)
Elementos Annotation (cero o más elementos)
Nota: |
---|
Los elementos de anotación deben aparecer después de todos los demás elementos secundarios.Los elementos de anotación solo se pueden emplear en modelos conceptuales en aquellas aplicaciones diseñadas para la versión 4 o posterior de .NET Framework.El espacio de nombres XML para dichos modelos es https://schemas.microsoft.com/ado/2008/09/edm. |
Atributos aplicables
En la tabla siguiente se describen los atributos que se pueden aplicar al elemento End cuando es el elemento secundario de un elemento AssociationSet.
Nombre de atributo | Es necesario | Valor |
---|---|---|
EntitySet |
Sí |
Nombre del elemento EntitySet que define un extremo del elemento AssociationSet primario. El elemento EntitySet se debe definir en el mismo contenedor de entidades que el elemento AssociationSet primario. |
Role |
No |
Nombre del extremo del conjunto de asociaciones. Si no se usa el atributo Role, el nombre del extremo del conjunto de asociaciones será el nombre del conjunto de entidades. |
Nota: |
---|
Se puede aplicar cualquier número de atributos de anotación (atributos XML personalizados) al elemento End.Sin embargo, es posible que los atributos personalizados no pertenezcan a ningún espacio de nombres XML reservado para CSDL.Dos atributos personalizados cualesquiera no pueden tener nombres completos idénticos. |
Ejemplo
En el ejemplo siguiente se muestra un elemento EntityContainer con dos elementos AssociationSet, cada uno de ellos con dos elementos End:
<EntityContainer Name="BooksContainer" >
<EntitySet Name="Books" EntityType="BooksModel.Book" />
<EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
<EntitySet Name="Authors" EntityType="BooksModel.Author" />
<AssociationSet Name="PublishedBy" Association="BooksModel.PublishedBy">
<End Role="Book" EntitySet="Books" />
<End Role="Publisher" EntitySet="Publishers" />
</AssociationSet>
<AssociationSet Name="WrittenBy" Association="BooksModel.WrittenBy">
<End Role="Book" EntitySet="Books" />
<End Role="Author" EntitySet="Authors" />
</AssociationSet>
</EntityContainer>
Vea también
Conceptos
Información general de Entity Framework
Especificación CSDL
Schema (Elemento) (CSDL)
EntityContainer (Elemento) (CSDL)
Otros recursos
Especificaciones CSDL, SSDL y MSL
ADO.NET Entity Data Model Tools
association end (Entity Data Model)
association set (Entity Data Model)
association set end (Entity Data Model)