Freigeben über


Namespace-Attribut (SSDL)

Im Entitätsdatenmodell (EDM) enthält das Schema-Element der Speichermetadaten einen Namespacenamen. Der Namespacename wird verwendet, wenn für Deklarationen im Schema ein vollqualifizierter Name erforderlich ist. Der Namespacename wird häufig mit einem Alias abgekürzt. Im folgenden Beispiel wird der Begriff Self dem Alias-Attribut des AdventureWorksHRTarget-Schemas zugewiesen.

<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="AdventureWorksHRTarget"
        Alias="Self"
        xmlns="https://schemas.microsoft.com/ado/2006/04/edm/ssdl">

In der CSDL-Datei befindet sich eine ähnliche Zeile. Sie unterscheiden sich lediglich in den dem Namespace-Attribut zugewiesenen Namen und der dem xmlns-Attribut zugewiesenen URL.

<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="AdventureWorksHRModel"
        Alias="Self"
        xmlns="https://schemas.microsoft.com/ado/2006/04/edm">

In diesen Deklarationen verwendete Namespacenamen spiegeln ihren Zweck im erstellten Datenmodell wider. AdventureWorksHRTarget sind die vom AdventureWorksHRModel für die Verbindung der definierten Typen mit dem Speicher verwendeten Metadaten.

In der Mappingspezifikation ordnet das EntityContainerMapping-Element die beiden Entitätencontainer ohne Verweise auf ihre namespace-Namen zu. Der EntityContainer ist vom Schema getrennt und unabhängig, obwohl er im Schema definiert wird. Die Mappingspezifikation bezieht sich wie in der folgenden MSL-Syntax nur auf Containerobjekte: CdmEntityContainer="HumanResources"``StorageEntityContainer="HumanResources".

<?xml version="1.0" encoding="utf-8"?>
<Mapping Space="C-S" 
    xmlns="urn:schemas-microsoft-com:windows:storage:mapping:CS">
  <EntityContainerMapping CdmEntityContainer="HumanResources"
                          StorageEntityContainer="HumanResources">

Alias

Das Alias-Attribut wird zur Abkürzung des Namespacenamens im übrigen Schema verwendet. Im folgenden Beispiel wird dem Alias-Attribut die Zeichenfolge Self zugewiesen.

<?xml version="1.0" encoding="utf-8"?>
<Schema Namespace="AdventureWorksHRModel"
        Alias="Self"
        xmlns="https://schemas.microsoft.com/ado/2006/04/edm">

Der Alias ist für das übrige Schema äußerst hilfreich, da er die Lesbarkeit verbessert (siehe folgende Syntax).

  <EntityContainer Name="HumanResources">
    <EntitySet Name="Department" EntityType="Self.Department" />
    <EntitySet Name="Employee" EntityType="Self.Employee" />
    <EntitySet Name="EmployeeAddress" EntityType="Self.EmployeeAddress" />

Xmlns

Das vorherige Beispiel enthält auch ein xmlns-Attribut, das eine zugewiesene URL verwendet. Diese URL wird in allen SSDL-Schemas verwendet.

Siehe auch

Konzepte

Konzeptionelles Schema (CSDL)
Mappingspezifikation (MSL)
Das vollständige AdventureWorks-Modell (EDM)