Partilhar via


Modelo de Dados de Entidade: Namespaces

Um namespace no Modelo de Dados de Entidade (EDM) é um contêiner abstrato para tipos de entidade, tipos complexos e associações. Os namespaces no EDM são semelhantes aos namespaces em uma linguagem de programação: eles fornecem contexto para os objetos que contêm e fornecem uma maneira de desambiguar objetos que têm o mesmo nome (mas estão contidos em namespaces diferentes).

Exemplo

O ADO.NET Entity Framework usa uma linguagem específica de domínio (DSL) chamada linguagem de definição de esquema conceitual (CSDL) para definir modelos conceituais. O código CSDL a seguir usa um namespace para identificar um tipo definido em um modelo conceitual diferente. O exemplo define um tipo de entidade (Publisher) que tem uma propriedade de tipo complexo (Address) que é importada do ExtendedBooksModel namespace. Observe que o Using elemento indica que um namespace foi importado. Observe também que o Address tipo da propriedade é definido usando seu nome totalmente qualificado (ExtendedBooksModel.Address), indicando que esse tipo é definido no ExtendedBooksModel namespace.

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

Consulte também