Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un elemento ComplexProperty del lenguaje de especificación de asignaciones (MSL) define la asignación entre una propiedad de tipo complejo en un tipo de entidad del modelo conceptual y las columnas de la tabla de la base de datos subyacente. Las asignaciones entre columnas y propiedades se especifican en elementos secundarios ScalarProperty.
El elemento de propiedad ComplexType puede tener los elementos secundarios siguientes:
ScalarProperty (cero o más)
ComplexProperty (cero o más)
ComplextTypeMapping (cero o más)
Condition (cero o más)
Atributos aplicables
En la tabla siguiente se describen los atributos aplicables al elemento ComplexProperty:
Nombre de atributo | Es necesario | Valor |
---|---|---|
Name |
Sí |
El nombre de la propiedad compleja de un tipo de entidad del modelo conceptual que se está asignando. |
TypeName |
No |
El nombre completo, calificado con el espacio de nombres, del tipo de propiedad del modelo conceptual. |
Ejemplo
El siguiente ejemplo se basa en el modelo School. El siguiente tipo complejo se ha agregado al modelo conceptual:
<ComplexType Name="FullName">
<Property Type="String" Name="LastName"
Nullable="false" MaxLength="50"
FixedLength="false" Unicode="true" />
<Property Type="String" Name="FirstName"
Nullable="false" MaxLength="50"
FixedLength="false" Unicode="true" />
</ComplexType>
Las propiedades LastName y FirstName del tipo de entidad Person han sido reemplazadas por una propiedad compleja, Name:
<EntityType Name="Person">
<Key>
<PropertyRef Name="PersonID" />
</Key>
<Property Name="PersonID" Type="Int32" Nullable="false"
annotation:StoreGeneratedPattern="Identity" />
<Property Name="HireDate" Type="DateTime" />
<Property Name="EnrollmentDate" Type="DateTime" />
<Property Name="Name" Type="SchoolModel.FullName" Nullable="false" />
</EntityType>
El siguiente MSL muestra el elemento ComplexProperty utilizado para asignar la propiedad Name a las columnas de la base de datos subyacente:
<EntitySetMapping Name="People">
<EntityTypeMapping TypeName="SchoolModel.Person">
<MappingFragment StoreEntitySet="Person">
<ScalarProperty Name="PersonID" ColumnName="PersonID" />
<ScalarProperty Name="HireDate" ColumnName="HireDate" />
<ScalarProperty Name="EnrollmentDate" ColumnName="EnrollmentDate" />
<ComplexProperty Name="Name" TypeName="SchoolModel.FullName">
<ScalarProperty Name="FirstName" ColumnName="FirstName" />
<ScalarProperty Name="LastName" ColumnName="LastName" />
</ComplexProperty>
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
Vea también
Otros recursos
Especificaciones CSDL, SSDL y MSL
Modelado y asignación (Entity Framework)