Compartir a través de


End (Elemento) (SSDL)

El elemento End del lenguaje de definición de esquemas de almacenamiento (SSDL) especifica la tabla y el número de filas en un extremo de una restricción de clave externa de la base de datos subyacente. El elemento End puede ser un elemento secundario del elemento Association o el elemento AssociationSet. En cada caso, los posibles elementos secundarios y atributos aplicables son diferentes.

Elemento End como elemento secundario del elemento Association

Un elemento End (como elemento secundario del elemento Association) especifica la tabla y el número de filas en un extremo de una restricción de clave externa mediante los atributos Type and Multiplicity, respectivamente. Los extremos de una restricción de clave externa se definen como parte de una asociación SSDL, la cual debe tener exactamente dos extremos.

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

El nombre completo del conjunto de entidades SSDL que está en el extremo de la restricción de clave externa.

Role

No

El valor del atributo Role del elemento Principal o Dependent del elemento ReferentialConstraint correspondiente (si se utiliza).

Multiplicity

1, 0..1 o *, dependiendo del número de filas que pueda haber en el extremo de la restricción de clave externa.

  • 1 indica que hay exactamente una fila en el extremo de la restricción de clave externa.

  • 0..1 indica que hay una fila o ninguna en el extremo de la restricción de clave externa.

  • * que pueden existir cero, una o varias filas en el extremo de la restricción de clave externa.

Bb896336.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 restricción de clave externa FK_CustomerOrders. Los valores Multiplicity especificados en cada elemento End indican que muchas filas de la tabla Orders pueden estar asociadas a una fila de la tabla Customers, pero solo una fila de la tabla Customers puede estar asociada a una fila de la tabla Orders. Además, el elemento OnDelete indica que se eliminarán todas las filas de la tabla Orders que hacen referencia a una fila determinada de la tabla Customers si se elimina la fila de la tabla Customers.

<Association Name="FK_CustomerOrders">
  <End Role="Customers" 
       Type="ExampleModel.Store.Customers" Multiplicity="1">
    <OnDelete Action="Cascade" />
  </End>
  <End Role="Orders" 
       Type="ExampleModel.Store.Orders" Multiplicity="*" />
  <ReferentialConstraint>
    <Principal Role="Customers">
      <PropertyRef Name="CustomerId" />
    </Principal>
    <Dependent Role="Orders">
      <PropertyRef Name="CustomerId" />
    </Dependent>
  </ReferentialConstraint>
</Association>

Elemento End como elemento secundario del elemento AssociationSet

El elemento End (como elemento secundario del elemento AssociationSet) especifica una tabla en un extremo de una restricción de clave externa de la base de datos subyacente.

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 AssociationSet.

Nombre de atributo Es necesario Valor

EntitySet

El nombre del conjunto de entidades SSDL que está en el extremo de la restricción de clave externa.

Role

No

El valor de uno de los atributos Role especificado en un elemento End del elemento Association correspondiente.

Bb896336.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 un elemento AssociationSet con dos elementos End:

<EntityContainer Name="ExampleModelStoreContainer">
  <EntitySet Name="Customers" 
             EntityType="ExampleModel.Store.Customers" 
             Schema="dbo" />
  <EntitySet Name="Orders" 
             EntityType="ExampleModel.Store.Orders" 
             Schema="dbo" />
  <AssociationSet Name="FK_CustomerOrders" 
                  Association="ExampleModel.Store.FK_CustomerOrders">
    <End Role="Customers" EntitySet="Customers" />
    <End Role="Orders" EntitySet="Orders" />
  </AssociationSet>
</EntityContainer>

Vea también

Conceptos

Información general de Entity Framework
Especificación SSDL

Otros recursos

Especificaciones CSDL, SSDL y MSL
ADO.NET Entity Data Model Tools