Compartir a través de


Condition (Elemento) (MSL)

El elemento Condition del lenguaje de especificación de asignaciones (MSL) establece condiciones en las asignaciones entre el modelo conceptual y la base de datos subyacente. La asignación que se define dentro de un nodo XML es válida si se cumplen todas las condiciones especificadas en elementos Condition secundarios. De lo contrario, la asignación no es válida. Por ejemplo, si un elemento MappingFragment contiene uno o más elementos Condition secundarios, la asignación definida dentro del nodo MappingFragment solo será válida si se cumplen todas las condiciones de los elementos Condition secundarios.

Cada condición se puede aplicar a un Name (el nombre de una propiedad de entidad del modelo conceptual, especificada mediante el atributo Name), o a un ColumnName (el nombre de una columna de la base de datos, especificada mediante el atributo ColumnName). Cuando se establece el atributo Name, la condición se comprueba contra un valor de propiedad de la entidad. Cuando se establece el atributo ColumnName, la condición se comprueba contra un valor de columna. Solo uno de los atributos Name o ColumnName se puede especificar en un elemento Condition.

Cc716732.note(es-es,VS.100).gifNota:
Cuando el elemento Condition se utiliza dentro de un elemento FunctionImportMapping, solo el atributo Name no es aplicable.

El elemento Condition puede ser un elemento secundario de los elementos siguientes:

El elemento Condition puede no tener elementos secundarios:

Atributos aplicables

En la tabla siguiente se describen los atributos aplicables al elemento Condition:

Nombre de atributo Es necesario Valor

ColumnName

No

El nombre de la columna de la tabla cuyo valor se utiliza para evaluar la condición.

IsNull

No

True o False. Si el valor es True y el valor de la columna es null, o si el valor es False y el valor de la columna no es null, la condición es verdadera. De lo contrario, la condición es falsa.

Los atributos IsNull y Value no se pueden utilizar al mismo tiempo.

Value

No

El valor con el que se compara el valor de la columna. Si los valores son los mismos, la condición es verdadera. De lo contrario, la condición es falsa.

Los atributos IsNull y Value no se pueden utilizar al mismo tiempo.

Name

No

El nombre de la propiedad de entidad del modelo conceptual cuyo valor se utiliza para evaluar la condición.

Este atributo no es aplicable si el elemento Condition se utiliza dentro de un elemento FunctionImportMapping.

Ejemplo

En el ejemplo siguiente se muestran elementos Condition como elementos secundarios de elementos MappingFragment. Cuando HireDate no es nulo y EnrollmentDate es nulo, los datos están asignados entre el tipo SchoolModel.Instructor y las columnas PersonID y HireDate de la tabla Person. Cuando EnrollmentDate no es nulo y HireDate es nulo, los datos están asignados entre el tipo SchoolModel.Student y las columnas PersonID y Enrollment de la tabla Person.

<EntitySetMapping Name="People">
  <EntityTypeMapping TypeName="IsTypeOf(SchoolModel.Person)">
    <MappingFragment StoreEntitySet="Person">
      <ScalarProperty Name="PersonID" ColumnName="PersonID" />
      <ScalarProperty Name="FirstName" ColumnName="FirstName" />
      <ScalarProperty Name="LastName" ColumnName="LastName" />
    </MappingFragment>
  </EntityTypeMapping>
  <EntityTypeMapping TypeName="IsTypeOf(SchoolModel.Instructor)">
    <MappingFragment StoreEntitySet="Person">
      <ScalarProperty Name="PersonID" ColumnName="PersonID" />
      <ScalarProperty Name="HireDate" ColumnName="HireDate" />
      <Condition ColumnName="HireDate" IsNull="false" />
      <Condition ColumnName="EnrollmentDate" IsNull="true" />
    </MappingFragment>
  </EntityTypeMapping>
  <EntityTypeMapping TypeName="IsTypeOf(SchoolModel.Student)">
    <MappingFragment StoreEntitySet="Person">
      <ScalarProperty Name="PersonID" ColumnName="PersonID" />
      <ScalarProperty Name="EnrollmentDate" 
                      ColumnName="EnrollmentDate" />
      <Condition ColumnName="EnrollmentDate" IsNull="false" />
      <Condition ColumnName="HireDate" IsNull="true" />
    </MappingFragment>
  </EntityTypeMapping>
</EntitySetMapping>

Vea también

Otros recursos

Especificaciones CSDL, SSDL y MSL
Modelado y asignación (Entity Framework)