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):
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í |
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 |
Sí |
1, 0..1 o *, dependiendo del número de filas que pueda haber en el extremo de la restricción de clave externa.
|
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 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):
Documentation (cero o uno)
Elementos Annotation (cero o más)
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í |
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. |
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 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