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:
EntityTypeMapping (0 (null) oder mehr)
QueryView (kein (null) oder ein Element)
MappingFragment (null oder mehr)
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