Udostępnij za pośrednictwem


Model danych jednostki: Przestrzenie nazw

Przestrzeń nazw w modelu danych jednostki (EDM) to abstrakcyjny kontener dla typów jednostek, typów złożonych i skojarzeń. Przestrzenie nazw w EDM są podobne do przestrzeni nazw w języku programowania: zapewniają kontekst dla obiektów, które zawierają, i zapewniają sposób uściślania obiektów o tej samej nazwie (ale są zawarte w różnych przestrzeniach nazw).

Przykład

ADO.NET Entity Framework używa języka specyficznego dla domeny (DSL) nazywanego koncepcyjnym językiem definicji schematu (CSDL) do definiowania modeli koncepcyjnych. Poniższy kod CSDL używa przestrzeni nazw do identyfikowania typu zdefiniowanego w innym modelu koncepcyjnym. W przykładzie zdefiniowano typ jednostki (Publisher), który ma właściwość typu złożonego (Address), która jest importowana z ExtendedBooksModel przestrzeni nazw. Należy pamiętać, że Using element wskazuje, że zaimportowano przestrzeń nazw. Należy również pamiętać, że typ Address właściwości jest definiowany przy użyciu w pełni kwalifikowanej nazwy (ExtendedBooksModel.Address), wskazując, że ten typ jest zdefiniowany w ExtendedBooksModel przestrzeni nazw.

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

Zobacz też