Entity Data Model: NamespacesEntity Data Model: Namespaces

Ein Namespace im Entity Data Model (EDM) ist ein abstrakter Container für Entitäts Typen, komplexe Typenund Zuordnungen.A namespace in the Entity Data Model (EDM) is an abstract container for entity types, complex types, and associations. Namespaces im EDM ähneln Namespaces in einer Programmiersprache: sie stellen den Kontext für die Objekte bereit, die sie enthalten, und sie bieten eine Möglichkeit, Objekte mit dem gleichen Namen (die aber in verschiedenen Namespaces enthalten sind) eindeutig zu bestimmen.Namespaces in the EDM are similar to namespaces in a programming language: they provide context for the objects that they contain and they provide a way to disambiguate objects that have the same name (but are contained in different namespaces).

BeispielExample

Der ADO.NET-Entity Framework verwendet eine domänenspezifische Sprache (DSL) mit der Bezeichnung konzeptionelle Schema Definitions Sprache (CSDL), um konzeptionelle Modelle zu definieren.The ADO.NET Entity Framework uses a domain-specific language (DSL) called conceptual schema definition language (CSDL) to define conceptual models. Der folgende CSDL-Code identifiziert mithilfe eines Namespace einen Typ, der in einem anderen konzeptionellen Modell definiert ist.The following CSDL code uses a namespace to identify a type that is defined in a different conceptual model. Im Beispiel wird ein Entitätstyp (Publisher) definiert, der über eine komplexe Typeigenschaft (Address) verfügt, die aus dem ExtendedBooksModel-Namespace importiert wird.The example defines an entity type (Publisher) that has a complex type property (Address) that is imported from the ExtendedBooksModel namespace. Beachten Sie, dass das Using-Element angibt, dass ein Namespace importiert wurde.Note that the Using element indicates that a namespace has been imported. Beachten Sie außerdem, dass der Typ der Address-Eigenschaft mit dem vollqualifizierten Namen (ExtendedBooksModel.Address) definiert wird, der angibt, dass dieser Typ im ExtendedBooksModel-Namespace definiert wird.Also note that the type of the Address property is defined by using its fully qualified name (ExtendedBooksModel.Address), indicating that this type is defined in the 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>

Siehe auchSee also