Elemento Condition (AssociationSetMapping)

El elemento Condition en AssociationSetMapping especifica un requisito lógico para la validez de Association asignado en Entity Data Model (EDM). Al asignar una asociación, se identifican las columnas de las tablas de datos que corresponden a las propiedades de las entidades relacionadas.

El elemento AssociationSetMapping asigna la asociación Employee_Employee_ManagerID definida en el lenguaje de definición de esquemas conceptuales (CSDL) en el segmento HumanResources de la base de datos AdventureWorks. La especificación de asignación siguiente relaciona una entidad Employee con otra entidad Employee designada como administrador.

<?xml version="1.0" encoding="utf-8"?>
<Mapping Space="C-S" 
    xmlns:edm="urn:schemas-microsoft-com:windows:storage:mapping:CS" 
    xmlns="urn:schemas-microsoft-com:windows:storage:mapping:CS">
  <EntityContainerMapping CdmEntityContainer="HumanResources"
                           StorageEntityContainer="HumanResources">

    <AssociationSetMapping Name="Employee_Employee_ManagerID"
       TypeName="AdventureWorksHRModel.Employee_Employee_ManagerID"
           StoreEntitySet="Employee">
      <EndProperty Name="Employee">
        <ScalarProperty Name="EmployeeID"
                                     ColumnName="ManagerID" />
      </EndProperty>
      <EndProperty Name="EmployeeManager">
        <ScalarProperty Name="EmployeeID"
                               ColumnName="EmployeeID" />
      </EndProperty>
      <Condition ColumnName="ManagerID" IsNull="false" />
    </AssociationSetMapping>

  </EntityContainerMapping>

Ambas entidades relacionadas por esta Association son entidades Employee. La asignación depende de la Condition especificada en la línea final de AssociationSetMappng. Para que la Association sea válida, debe conectar una entidad Employee con otra entidad Employee designada como administrador. La estructura de almacenamiento que representa esta conexión es una restricción de clave externa en la columna ManagerID de la tabla Employee. Si a esta condición tiene el valor Null, no se cumple la condición y no tiene sentido asignar más detalles en una instancia de Association. Si una Association de este tipo se crea en el código cuando el valor de ManagerID es Null, la Association producirá una excepción cuando se llame el método SaveChanges.

Vea también

Conceptos

Elemento EntityContainerMapping (MSL)
Elemento Association (CSDL)
Elemento AssociationSet (CSDL EntityContainer)
Elemento Association (SSDL)
Elemento AssociationSet (SSDL EntityContainer)
Modelo completo (EDM) de AdventureWorks