次の方法で共有


Schema 要素 (SSDL)

エンティティ データ モデル (EDM) では、ストレージ メタデータ スキーマのルート要素は Schema 要素です。Schema 要素には、ストレージ モデルの名前とデータ型を使用するエンティティとアソシエーションの宣言および定義が含まれます。ストレージ メタデータは、ストア スキーマ定義言語 (SSDL) で定義されます。

EntityType 要素と Association 要素は、Schema 要素の子要素です。EntitySet 要素と AssociationSet 要素は、EntityContainer 要素の子要素です。

EntityContainer 要素は Schema 要素に含まれますが、論理的には依存関係はなく独立しています。マッピング スキーマでは、概念スキーマの EntityContainer がストレージ メタデータの EntityContainer にマップされますが、スキーマの名前空間は参照されません。

次の SSDL スキーマは、Schema 要素とそれに含まれる最も重要な子要素を抜粋したものです。

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

Schema 型の Namespace 属性、および Schema 要素の子要素 (EntityTypeAssociation など) については、次のトピックでその関数と共に説明しています。

Namespace 属性 (SSDL)

EntityType 要素 (SSDL)

Association 要素 (SSDL)

これらの型にはそれぞれ、SSDL スキーマに子要素があります。

参照

概念

EntityContainer 要素 (SSDL)
エンティティの実装 (EDM)
アソシエーションの実装 (EDM)

その他のリソース

EDM 仕様