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 要素の子要素 (EntityType や Association など) については、次のトピックでその関数と共に説明しています。
これらの型にはそれぞれ、SSDL スキーマに子要素があります。
参照
概念
EntityContainer 要素 (SSDL)
エンティティの実装 (EDM)
アソシエーションの実装 (EDM)