Condividi tramite


Elemento EntitySetMapping (MSL)

L'elemento EntitySetMapping in MSL (Mapping Specification Language) consente di eseguire il mapping di tutti i tipi in un set di entità del modello concettuale ai set di entità nel modello di archiviazione.Un set di entità nel modello concettuale è un contenitore logico per istanze di entità dello stesso tipo (e tipi derivati).Un set di entità nel modello di archiviazione rappresenta una tabella o visualizzazione nel database sottostante.Il set di entità del modello concettuale è specificato dal valore dell'attributo Name dell'elemento EntitySetMapping.La tabella o visualizzazione di cui è stato eseguito il mapping viene specificata dall'attributo StoreEntitySet in ogni elemento MappingFragment figlio o nell'elemento EntitySetMapping stesso.

Nell'elemento EntitySetMapping possono essere inclusi gli elementi figlio seguenti:

Attributi applicabili

Nella tabella riportata di seguito vengono descritti gli attributi che è possibile applicare all'elemento EntitySetMapping.

Nome attributo

È obbligatorio

Valore

Name

Nome del set di entità del modello concettuale di cui è in corso il mapping.

TypeName1

No

Nome del tipo di entità del modello concettuale di cui è in corso il mapping.

StoreEntitySet1

No

Nome del set di entità del modello di archiviazione a cui viene eseguito il mapping.

MakeColumnsDistinct

No

True o False a seconda se vengono restituite o meno solo righe distinte.

Se questo attributo viene impostato su True, l'attributo GenerateUpdateViews dell'elemento EntityContainerMapping deve essere impostato su False.

1 Gli attributi TypeName e StoreEntitySet possono essere utilizzati al posto degli elementi figlio EntityTypeMapping e MappingFragment per eseguire il mapping di un solo tipo di entità a una sola tabella.

Esempio

Nell'esempio seguente viene mostrato un elemento EntitySetMapping che esegue il mapping di tre tipi (un tipo di base e due tipi derivati) nel set di entità Courses del modello concettuale a tre tabelle diverse del database sottostante.Le tabelle sono specificate dall'attributo StoreEntitySet in ogni elemento MappingFragment.

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

Vedere anche

Concetti

Specifiche CSDL

Specifiche SSDL

Altre risorse

Modellazione e mapping