Freigeben über


Schema-Element (CSDL)

Das Schema-Element ist das Stammelement eines konzeptionellen Schemas im Entitätsdatenmodell (EDM). Das Schema-Element ist die Spezifikation für den Namespace, der vom definierten Objektmodell verwendete Entitäten und Zuordnungen enthält. Das konzeptionelle Schema wird in CSDL (konzeptionelle Schemadefinitionssprache) definiert. Das EntityType-Element und das Association-Element im konzeptionellen Schema sind untergeordnete Elemente des Schema-Elements.

Das EntityContainer-Element ist die Spezifikation einer Klasse im entworfenen Objektmodell. EntitySet und AssociationSet sind untergeordnete Elemente von EntityContainer.

Weitere Informationen über EntityType-Elemente und Association-Elemente finden Sie in den Unterthemen dieses Abschnitts. Weitere Informationen über das EntityContainer -Element finden Sie unter EntityContainer-Element (CSDL).

Die folgende Schemadeklaration stellt das Schema-Element und seine untergeordneten Elemente dar.

<Schema Namespace="AdventureWorksHRModel" Alias="Self" 
             xmlns="https://schemas.microsoft.com/ado/2006/04/edm">

  <EntityType Name="Department" 
    <Key>
        <PropertyRef Name="DepartmentID" />
    </Key>
    <Property Name="DepartmentID" Type="Int16" Nullable="false" />
    <Property Name="Name" Type="String" Nullable="false" />
    <Property Name="GroupName" Type="String" Nullable="false" />
    <Property Name="ModifiedDate" Type="DateTime" Nullable="false" />
  </EntityType>

  <EntityType Name="Employee"
    <Key>
        <PropertyRef Name=EmployeeID>
    </Key>
    <Property Name="EmployeeID" Type="Int32" Nullable="false" />
    <Property Name="NationalIDNumber" Type="String" Nullable="false" />
    <Property Name="ContactID" Type="Int32" Nullable="false" />
    <Property Name="LoginID" Type="String" Nullable="false"/>
    <Property Name="Title" Type="String" Nullable="false" />
    <Property Name="BirthDate" Type="DateTime" Nullable="false" />
    <Property Name="MaritalStatus" Type="String" Nullable="false"
/>
    <Property Name="Gender" Type="String" Nullable="false"/>
    <Property Name="HireDate" Type="DateTime" Nullable="false" />
    <Property Name="SalariedFlag" Type="Boolean" Nullable="false" />
    <Property Name="VacationHours" Type="Int16" Nullable="false" />
    <Property Name="SickLeaveHours" Type="Int16" Nullable="false" />
    <Property Name="CurrentFlag" Type="Boolean" Nullable="false" />
    <Property Name="rowguid" Type="Guid" Nullable="false" />
    <Property Name="ModifiedDate" Type="DateTime" Nullable="false" />
  </EntityType>

  <Association Name="Employee_EmployeeManagerID">
        <End Role="Employee" Type="Self.Employee" Multiplicity="0..1" />
        <End Role="Employee" Type="Self.Employee" Multiplicity="0..*" />
  </Association>

  <EntityContainer Name="HumanResources">
    <EntitySet Name="Department" EntityType="Self.Department" />
    <EntitySet Name="Employee" EntityType="Self.Employee" />
    <AssociationSet Name="Employee_EmployeeManagerID"
                    Association="Self.Employee_EmployeeManagerID">
      <End Role="Employee" EntitySet="Employee" />
       <End Role="Employee63" EntitySet="Employee" />
    </AssociationSet>
  </EntityContainer>

</Schema>

CSDL-Schemaspezifikationen werden SSDL-Spezifikationen (Datenspeicherschema-Definitionssprache) mithilfe von MSL (Mapping-Spezifikationssprache) zugeordnet.

In diesem Abschnitt

Im Rahmen der Themen in diesem Abschnitt werden die Typen und Elemente beschrieben, die zur Implementierung eines auf dem EDM aufbauenden Objektmodells verwendet werden. Das Namespace-Attribut des Schema-Elements und die untergeordneten Elemente des Schema-Elements, wie EntityType und Association, werden in folgenden Themen beschrieben:

Namespace-Attribut (CSDL)

EntityType-Element (CSDL)

Association-Element (CSDL)

Jeder dieser Typen hat im CSDL-Schema untergeordnete Elemente.

Siehe auch

Konzepte

EntityContainer-Element (CSDL)
Implementieren von Entitäten (EDM)
Implementieren von Zuordnungen (EDM)

Weitere Ressourcen

EDM-Spezifikationen