Freigeben über


Schema-Element (SSDL)

Im Entitätsdatenmodell (EDM) ist das Schema-Element das Stammelement in einer Speichermetadaten-Spezifikation. Das Schema-Element enthält Deklarationen und Definitionen von Entitäten und Zuordnungen, die die Namen und Datentypen des Speichermodells verwenden. Speichermetadaten werden in der Datenspeicherschema-Definitionssprache (Store Schema Definition Language, SSDL) definiert.

Das EntityType-Element und das Association-Element sind untergeordnete Elemente des Schema-Elements. Das EntitySet-Element und das AssociationSet-Element sind untergeordnete Elemente des EntityContainer-Elements.

Das EntityContainer-Element ist im Schema-Element enthalten. Es ist jedoch logisch separat und unabhängig. In der Mappingspezifikation wird das EntityContainer des konzeptionellen Schemas ohne einen Verweis auf den Schemanamespace dem EntityContainer der Speichermetadaten zugeordnet.

Im folgenden Auszug eines SSDL-Schemas wird das Schema-Element und die wichtigsten darin enthaltenen untergeordneten Elemente dargestellt.

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

  <EntityType Name="Department">
    <Key>
        <PropertyRef Name="DepartmentID">
    </Key>
    <Property Name="DepartmentID" Type="smallint"
                Nullable="false" StoreGeneratedPattern="Identity" />
    <Property Name="Name" Type="nvarchar" 
                              Nullable="false" MaxLength="50" />
    <Property Name="GroupName" Type="nvarchar"
                              Nullable="false" MaxLength="50" />
    <Property Name="ModifiedDate" Type="datetime" Nullable="false" />
  </EntityType>

<EntityType Name="Employee" >
    <Key>
        <PropertyRef Name="EmployeeID">
    </Key>
    <Property Name="EmployeeID" Type="int" Nullable="false"
                                  StoreGeneratedPattern="Identity" />
    <Property Name="NationalIDNumber" Type="nvarchar"
                              Nullable="false" MaxLength="15" />
    <Property Name="ContactID" Type="int" Nullable="false" />
    <Property Name="LoginID" Type="nvarchar" 
                             Nullable="false" MaxLength="256" />
    <Property Name="ManagerID" Type="int" />
    <Property Name="Title" Type="nvarchar" Nullable="false"
                                                   MaxLength="50" />
    <Property Name="BirthDate" Type="datetime" Nullable="false" />
    <Property Name="MaritalStatus" Type="nchar" Nullable="false"
                                  MaxLength="1" FixedLength="true" />
    <Property Name="Gender" Type="nchar" Nullable="false"
                              MaxLength="1" FixedLength="true" />
    <Property Name="HireDate" Type="datetime" Nullable="false" />
    <Property Name="SalariedFlag" Type="bit" Nullable="false" />
    <Property Name="VacationHours" Type="smallint" Nullable="false" />
    <Property Name="SickLeaveHours" Type="smallint" Nullable="false" />
    <Property Name="CurrentFlag" Type="bit" Nullable="false" />
    <Property Name="rowguid" Type="uniqueidentifier" Nullable="false" />
    <Property Name="ModifiedDate" Type="datetime" Nullable="false" />
  </EntityType>

<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="Employee" EntitySet="Employee" />
    </AssociationSet>
  </EntityContainer>

</Schema>

Das Namespace-Attribut des Schema-Typs und die untergeordneten Elemente des Schema-Elements, wie EntityType und Association, werden mit ihren Funktionen in folgenden Themen beschrieben:

Namespace-Attribut (SSDL)

EntityType-Element (SSDL)

Association-Element (SSDL)

Jeder dieser Typen hat im SSDL-Schema untergeordnete Elemente.

Siehe auch

Konzepte

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

Weitere Ressourcen

EDM-Spezifikationen