Share via


Entitás adatmodellje: Névterek

Az Entity Data Model (EDM) névterei entitástípusok, összetett típusok és társítások absztrakt tárolói. Az EDM névterei hasonlóak a programozási nyelv névtereihez: kontextust biztosítanak az általuk tartalmazott objektumokhoz, és lehetővé teszik az azonos nevű (de különböző névterekben található) objektumok egyértelműsítését.

Példa

A ADO.NET Entity Framework egy tartományspecifikus nyelvet (DSL) használ, amelyet fogalmi sémadefiníciós nyelvnek (CSDL) hívunk a fogalmi modellek meghatározásához. A következő CSDL-kód egy névteret használ egy másik fogalmi modellben definiált típus azonosításához. A példa egy olyan entitástípust (Publisher) határoz meg, amely a névtérből ExtendedBooksModel importált összetett típusú tulajdonságot (Address) rendelkezik. Vegye figyelembe, hogy az Using elem azt jelzi, hogy egy névtér importálása megtörtént. Azt is vegye figyelembe, hogy a tulajdonság típusa a Address teljes névvel (ExtendedBooksModel.Address) van definiálva, ami azt jelzi, hogy ez a típus a ExtendedBooksModel névtérben van definiálva.

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

Lásd még