EntitySetMapping-Element (MSL)

Das EntitySetMapping-Element der Mapping-Spezifikationssprache (MSL) ordnet alle Typen einer Entitätenmenge im Speichermodell einer Entitätenmenge im konzeptionellen Modell zu. Eine Entitätenmenge im konzeptionellen Modell ist ein logischer Container für Instanzen der Entitäten des gleichen Typs (und abgeleiteter Typen). Eine Entitätenmenge im Speichermodell stellt eine Tabelle oder eine Ansicht in der zugrunde liegenden Datenbank dar. Die Entitätenmenge im konzeptionellen Modell wird durch Wert des Name-Attribut des EntitySetMapping-Elements angegeben. Die zugeordnete Tabelle oder die Ansicht wird vom StoreEntitySet-Attribut in jedem untergeordneten MappingFragment-Element oder dem EntitySetMapping-Element selbst angegeben.

Das EntitySetMapping-Element kann die folgenden untergeordneten Elemente besitzen:

Anwendbare Attribute

In der folgenden Tabelle werden die Attribute beschrieben, die auf das EntitySetMapping-Element angewendet werden können.

Attributname Ist erforderlich Wert

Name

Ja

Der Name der Entitätenmenge im konzeptionellen Modell, die zugeordnet wird.

TypeName 1

Nein

Der Name des Entitätstyp im konzeptionellen Modell, der zugeordnet wird.

StoreEntitySet 1

Nein

Der Name der Entitätenmenge im Speichermodell, die zugeordnet wird.

MakeColumnsDistinct

Nein

True oder False, abhängig davon, ob nur unterschiedliche Zeilen zurückgegeben werden.

Wenn das Attribut aufTrue festgelegt wurde, dann muss das GenerateUpdateViews-Attribut des EntityContainerMapping-Elements auf False festgelegt werden.

1 Das TypeName-Attribut und das StoreEntitySet-Attribut können anstelle des EntityTypeMapping-Elements und untergeordneter MappingFragment-Elemente verwendet werden, um einer einzelnen Tabelle einen einzelnen Entitätstyp zuzuordnen.

Beispiel

Im folgenden Beispiel wird ein EntitySetMapping-Element veranschaulicht, das drei Typen (ein Basistyp und zwei abgeleitete Typen) der Courses-Entitätenmenge des konzeptionellen Modells drei verschiedenen Tabellen der zugrunde liegenden Datenbank zuordnet. Die Tabellen werden vom StoreEntitySet-Attribut in jedem MappingFragment-Element angegeben.

<EntitySetMapping Name="Courses">
  <EntityTypeMapping TypeName="IsTypeOf(SchoolModel1.Course)">
    <MappingFragment StoreEntitySet="Course">
      <ScalarProperty Name="CourseID" ColumnName="CourseID" />
      <ScalarProperty Name="DepartmentID" ColumnName="DepartmentID" />
      <ScalarProperty Name="Credits" ColumnName="Credits" />
      <ScalarProperty Name="Title" ColumnName="Title" />
    </MappingFragment>
  </EntityTypeMapping>
  <EntityTypeMapping TypeName="IsTypeOf(SchoolModel1.OnlineCourse)">
    <MappingFragment StoreEntitySet="OnlineCourse">
      <ScalarProperty Name="CourseID" ColumnName="CourseID" />
      <ScalarProperty Name="URL" ColumnName="URL" />
    </MappingFragment>
  </EntityTypeMapping>
  <EntityTypeMapping TypeName="IsTypeOf(SchoolModel1.OnsiteCourse)">
    <MappingFragment StoreEntitySet="OnsiteCourse">
      <ScalarProperty Name="CourseID" ColumnName="CourseID" />
      <ScalarProperty Name="Time" ColumnName="Time" />
      <ScalarProperty Name="Days" ColumnName="Days" />
      <ScalarProperty Name="Location" ColumnName="Location" />
    </MappingFragment>
  </EntityTypeMapping>
</EntitySetMapping>

Siehe auch

Konzepte

CSDL-Spezifikation
SSDL-Spezifikation

Weitere Ressourcen

Modellieren und Zuordnen (Entity Framework)