Delen via


Entiteitsgegevensmodel: naamruimten

Een naamruimte in het EDM (Entity Data Model) is een abstracte container voor entiteitstypen, complexe typen en koppelingen. Naamruimten in de EDM zijn vergelijkbaar met naamruimten in een programmeertaal: ze bieden context voor de objecten die ze bevatten en ze bieden een manier om objecten met dezelfde naam te onderscheiden (maar zijn opgenomen in verschillende naamruimten).

Opmerking

De ADO.NET Entity Framework maakt gebruik van een domeinspecifieke taal (DSL) genaamd conceptuele schemadefinitietaal (CSDL) om conceptuele modellen te definiëren. De volgende CSDL-code maakt gebruik van een naamruimte om een type te identificeren dat is gedefinieerd in een ander conceptueel model. In het voorbeeld wordt een entiteitstype (Publisher) gedefinieerd met een complexe typeeigenschap (Address) die wordt geïmporteerd uit de ExtendedBooksModel naamruimte. Houd er rekening mee dat het Using element aangeeft dat er een naamruimte is geïmporteerd. Houd er ook rekening mee dat het type van de Address eigenschap wordt gedefinieerd met behulp van de volledig gekwalificeerde naam (ExtendedBooksModel.Address), waarmee wordt aangegeven dat dit type is gedefinieerd in de ExtendedBooksModel naamruimte.

  <Schema xmlns="http://schemas.microsoft.com/ado/2008/09/edm"
          xmlns:cg="http://schemas.microsoft.com/ado/2006/04/codegeneration"
          xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator"
          Namespace="BooksModel" Alias="Self">

    <Using Namespace="BooksModel.Extended" Alias="BMExt" />
    
<EntityContainer Name="BooksContainer" >
      <EntitySet Name="Publishers" EntityType="BooksModel.Publisher" />
    </EntityContainer>
    
<EntityType Name="Publisher">
      <Key>
        <PropertyRef Name="Id" />
      </Key>
      <Property Type="Int32" Name="Id" Nullable="false" />
      <Property Type="String" Name="Name" Nullable="false" />
      <Property Type="BMExt.Address" Name="Address" Nullable="false" />
    </EntityType>
  
</Schema>

Zie ook