Condividi tramite


Specifica di mapping (MSL)

In Entity Data Model (EDM) la specifica di mapping utilizza MSL (Mapping Specification Language) per connettere i tipi dichiarati in CSDL (Conceptual Schema Definition Language) ai metadati del database che rendono persistenti i dati per le applicazioni che utilizzano il modello a oggetti definito.

Gli oggetti Name di Namespace e Name di EntityContainer dichiarati nello schema CSDL identificano le entità e le associazioni contenute nello schema concettuale. La sintassi MSL esegue il mapping di questi oggetti ai metadati dell'archivio nel file SSDL (Store Schema Definition Language).

Il segmento MSL seguente illustra la sintassi utilizzata per eseguire il mapping del contenitore di entità HumanResources, come definito nello schema CSDL, al contenitore di entità HumanResources corrispondente, come definito nello schema SSDL, che descrive il database di destinazione.

I nomi dei contenitori di entità assegnati a CdmEntityContainer e StorageEntityContainer non sono qualificati dal nome di Namespace degli schemi nel quale vengono dichiarati. Sebbene i contenitori di entità vengono dichiarati all'interno di schemi, sono separati e indipendenti dagli schemi.

<?xml version="1.0" encoding="utf-8"?>
<Mapping Space="C-S" 
    xmlns="urn:schemas-microsoft-com:windows:storage:mapping:CS">

  <EntityContainerMapping CdmEntityContainer="HumanResources"
StorageEntityContainer="HumanResources">

I set di entità inclusi nei contenitori di entità vengono mappati utilizzando una sintassi simile a quella utilizzata per i contenitori di entità. Il mapping seguente connette il set di entità denominato AdventureWorksHRModel.Department dallo schema concettuale a una tabella denominata Department nei metadati di archiviazione. L'elemento EntitySetMapping include un attributo Name che identifica il set di entità Department sia nello schema concettuale che nei metadati di archiviazione.

L'elemento EntityTypeMapping include un attributo TypeName per l'entità Department nello schema CSDL con gli attributi MappingFragment e TableName corrispondenti per la tabella Department nel database.

Gli elementi ScalarProperty corrispondono infine all'oggetto Name di una proprietà di un'entità nello schema CSDL e a un oggetto ColumnName nella tabella Department nello schema SSDL.

    <EntitySetMapping Name="Department">
      <EntityTypeMapping
                   TypeName="AdventureWorksHRModel.Department">
        <MappingFragment TableName="Department">
          <ScalarProperty Name="DepartmentID"
                               ColumnName="DepartmentID" />
          <ScalarProperty Name="Name" ColumnName="Name" />
          <ScalarProperty Name="GroupName"
                                    ColumnName="GroupName" />
          <ScalarProperty Name="ModifiedDate"
                                 ColumnName="ModifiedDate" />
        </MappingFragment>
      </EntityTypeMapping>
    </EntitySetMapping>

Xmlns

Gli schemi MSL si trovano nello spazio dei nomi XML urn:schemas-microsoft-com:windows:storage:mapping:CS.

Elemento EntitySetMapping (MSL)

Elemento EntityContainerMapping (MSL)

Elemento EntitySetMapping (MSL)

Elemento AssociationSetMapping (MSL)

Vedere anche

Concetti

Schema concettuale (CSDL)
Schema dei metadati di archiviazione (SSDL)
Modello completo di AdventureWorks (EDM)
Modellazione dei dati in Entity Framework