Compartir a través de


ScalarProperty (Elemento) (MSL)

El elemento ScalarProperty del lenguaje de especificación de asignaciones (MSL) asigna una propiedad de un tipo de entidad del modelo conceptual, un tipo complejo, o una asociación, a una columna de una tabla o un parámetro de un procedimiento almacenado de la base de datos subyacente.

Bb399167.note(es-es,VS.100).gifNota:
Los procedimientos almacenados a los que están asignados las funciones de modificación se deben declarar en el modelo de almacenamiento.Para obtener más información, vea Function (Elemento) (SSDL).

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

Como elemento secundario del elemento MappingFragment, ComplexProperty o EndProperty, el elemento ScalarProperty asigna una propiedad del modelo conceptual a una columna de la base de datos. Como elemento secundario del elemento InsertFunction, UpdateFunction o DeleteFunction , el elemento ScalarProperty asigna una propiedad del modelo conceptual a un parámetro de procedimiento almacenado.

El elemento ScalarProperty no puede tener ningún elemento secundario.

Atributos aplicables

Los atributos que se aplican al elemento ScalarProperty difieren dependiendo del rol del elemento.

La siguiente tabla describe los atributos aplicables cuando el elemento ScalarProperty se utiliza para asignar una propiedad del modelo conceptual a una columna de la base de datos:

Nombre de atributo Es necesario Valor

Name

El nombre de la propiedad del modelo conceptual que se está asignando.

ColumnName

El nombre de la columna de tabla que se está asociando.

La siguiente tabla describe los atributos aplicables al elemento ScalarProperty cuando se utiliza para asignar una propiedad del modelo conceptual a un parámetro de procedimiento almacenado:

Nombre de atributo Es necesario Valor

Name

El nombre de la propiedad del modelo conceptual que se está asignando.

ParameterName

El nombre del parámetro que se está asignando.

Version

No

Current u Original, dependiendo de si se debe utilizar el valor actual o el valor original de la propiedad para las comprobaciones de simultaneidad.

Ejemplo

En el siguiente ejemplo se muestra el elemento ScalarProperty utilizado de dos maneras:

  • Para asignar las propiedades del tipo de entidad Person a las columnas de la tabla Person.

  • Para asignar las propiedades del tipo de entidad Person a los parámetros del procedimiento almacenado UpdatePerson. Los procedimientos almacenados se declaran en el modelo de almacenamiento.

<EntitySetMapping Name="People">
  <EntityTypeMapping TypeName="SchoolModel.Person">
    <MappingFragment StoreEntitySet="Person">
      <ScalarProperty Name="PersonID" ColumnName="PersonID" />
      <ScalarProperty Name="LastName" ColumnName="LastName" />
      <ScalarProperty Name="FirstName" ColumnName="FirstName" />
      <ScalarProperty Name="HireDate" ColumnName="HireDate" />
      <ScalarProperty Name="EnrollmentDate" 
                      ColumnName="EnrollmentDate" />
    </MappingFragment>
</EntityTypeMapping>
  <EntityTypeMapping TypeName="SchoolModel.Person">
    <ModificationFunctionMapping>
      <InsertFunction FunctionName="SchoolModel.Store.InsertPerson">
        <ScalarProperty Name="EnrollmentDate"
                        ParameterName="EnrollmentDate" />
        <ScalarProperty Name="HireDate" ParameterName="HireDate" />
        <ScalarProperty Name="FirstName" ParameterName="FirstName" />
        <ScalarProperty Name="LastName" ParameterName="LastName" />
        <ResultBinding Name="PersonID" ColumnName="NewPersonID" />
      </InsertFunction>
      <UpdateFunction FunctionName="SchoolModel.Store.UpdatePerson">
        <ScalarProperty Name="EnrollmentDate"
                        ParameterName="EnrollmentDate"
                        Version="Current" />
        <ScalarProperty Name="HireDate" ParameterName="HireDate"
                        Version="Current" />
        <ScalarProperty Name="FirstName" ParameterName="FirstName"
                        Version="Current" />
        <ScalarProperty Name="LastName" ParameterName="LastName"
                        Version="Current" />
        <ScalarProperty Name="PersonID" ParameterName="PersonID"
                        Version="Current" />
      </UpdateFunction>
      <DeleteFunction FunctionName="SchoolModel.Store.DeletePerson">
        <ScalarProperty Name="PersonID" ParameterName="PersonID" />
      </DeleteFunction>
    </ModificationFunctionMapping>
  </EntityTypeMapping>
</EntitySetMapping>

Ejemplo

El ejemplo siguiente muestra el elemento ScalarProperty utilizado para asignar las funciones de eliminación e inserción de una asociación del modelo conceptual a procedimientos almacenados de la base de datos. Los procedimientos almacenados se declaran en el modelo de almacenamiento.

<AssociationSetMapping Name="CourseInstructor" 
                       TypeName="SchoolModel.CourseInstructor" 
                       StoreEntitySet="CourseInstructor">
  <EndProperty Name="Person">
    <ScalarProperty Name="PersonID" ColumnName="PersonID" />
  </EndProperty>
  <EndProperty Name="Course">
    <ScalarProperty Name="CourseID" ColumnName="CourseID" />
  </EndProperty>
  <ModificationFunctionMapping>
    <InsertFunction FunctionName="SchoolModel.Store.InsertCourseInstructor" >   
      <EndProperty Name="Course">
        <ScalarProperty Name="CourseID" ParameterName="courseId"/>
      </EndProperty>
      <EndProperty Name="Person">
        <ScalarProperty Name="PersonID" ParameterName="instructorId"/>
      </EndProperty>
    </InsertFunction>
    <DeleteFunction FunctionName="SchoolModel.Store.DeleteCourseInstructor">
      <EndProperty Name="Course">
        <ScalarProperty Name="CourseID" ParameterName="courseId"/>
      </EndProperty>
      <EndProperty Name="Person">
        <ScalarProperty Name="PersonID" ParameterName="instructorId"/>
      </EndProperty>
    </DeleteFunction>
  </ModificationFunctionMapping>
</AssociationSetMapping>

Vea también

Otros recursos

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