Share via


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):

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

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

1, 0..1 o *, dependiendo del número de instancias de tipo de entidad que existan en el extremo de la asociación.

  • 1 indica que existe exactamente una instancia de tipo de entidad en el extremo de la asociación.

  • 0..1 indica que, o bien no existe ninguna instancia de tipo de entidad en el extremo de la asociación, o existe una.

  • * indica que pueden existir cero, una o varias instancias de tipo de entidad en el extremo de la asociación.

Bb896235.note(es-es,VS.100).gifNota:
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):

Bb896235.note(es-es,VS.100).gifNota:
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

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.

Bb896235.note(es-es,VS.100).gifNota:
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)