Freigeben über


ScalarProperty-Element (MSL)

In MSL (Mapping Specification Language) ordnet das ScalarProperty-Element eine Eigenschaft eines Entitätstyps des konzeptionellen Modells, eines komplexen Typs oder einer Zuordnung einer Tabellenspalte oder einem Parameter einer gespeicherten Prozedur in der zugrunde liegenden Datenbank zu.

Bb399167.note(de-de,VS.100).gifHinweis:
Gespeicherte Prozeduren, denen Änderungsfunktionen zugeordnet werden, müssen im Speichermodell deklariert werden.Weitere Informationen finden Sie unter Function-Element (SSDL).

Das ScalarProperty-Element kann ein untergeordnetes Element der folgenden Elemente sein:

Als untergeordnetes Element des Elements MappingFragment, ComplexProperty oder EndProperty ordnet das ScalarProperty-Element einer Spalte in der Datenbank eine Eigenschaft im konzeptionellen Modell zu. Als untergeordnetes Element des Elements InsertFunction, UpdateFunction oder DeleteFunction ordnet das ScalarProperty-Element eine Eigenschaft im konzeptionellen Modell einem Parameter einer gespeicherten Prozedur zu.

Das ScalarProperty-Element kann keine untergeordneten Elemente besitzen.

Anwendbare Attribute

Welche Attribute auf das ScalarProperty-Element anwendbar sind, hängt von der Rolle des Elements ab.

In der folgenden Tabelle werden die Attribute beschrieben, die anwendbar sind, wenn das ScalarProperty-Element verwendet wird, um eine Eigenschaft des konzeptionellen Modells einer Spalte in der Datenbank zuzuordnen:

Attributname Ist erforderlich Wert

Name

Ja

Der Name der Eigenschaft im konzeptionellen Modell, die zugeordnet wird.

ColumnName

Ja

Der Name der Tabellenspalte, die zugeordnet wird.

In der folgenden Tabelle werden die Attribute beschrieben, die auf das ScalarProperty-Element anwendbar sind, wenn es verwendet wird, um einem Parameter einer gespeicherten Prozedur eine Eigenschaft im konzeptionellen Modell zuzuordnen:

Attributname Ist erforderlich Wert

Name

Ja

Der Name der Eigenschaft im konzeptionellen Modell, die zugeordnet wird.

ParameterName

Ja

Der Name des Parameters, der zugeordnet wird.

Version

Nein

Current oder Original, abhängig von, ob der aktuelle Wert oder der ursprüngliche Wert der Eigenschaft für Parallelitätsüberprüfungen verwendet werden soll.

Beispiel

Im folgenden Beispiel wird ein ScalarProperty-Element auf zweierlei Weise verwendet:

  • Um die Eigenschaften des Person-Entitätstyps den Spalten der Person-Tabelle zuzuordnen.

  • Um den Parametern der gespeicherten Prozedur UpdatePerson die Eigenschaften des Person-Entitätstyps zuzuordnen. Die gespeicherten Prozeduren werden im Speichermodell deklariert.

<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>

Beispiel

Im nächsten Beispiel wird das ScalarProperty-Element veranschaulicht, das verwendet wird, um die Einfüge- und Löschfunktion einer Zuordnung in einem konzeptionellen Modell gespeicherten Prozeduren in der Datenbank zuzuordnen. Die gespeicherten Prozeduren werden im Speichermodell deklariert.

<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>

Siehe auch

Weitere Ressourcen

CSDL-, SSDL- und MSL-Spezifikationen
Modellieren und Zuordnen (Entity Framework)