Schema 元素 (CSDL)

Schema 元素是 实体数据模型 (EDM) 中的概念性架构的根元素。Schema 元素是包含正在定义的对象模型所用实体和关联的 Namespace 的规范。概念性架构是使用概念性架构定义语言 (CSDL) 定义的。概念性架构中的 EntityTypeAssociation 元素是 Schema 元素的子元素。

EntityContainer 元素是所设计的对象模型中的类的规范。EntitySetAssociationSetEntityContainer 的子元素。

有关 EntityTypeAssociation 元素的信息,请参见本节中的子主题。有关 EntityContainer 元素的信息,请参见 EntityContainer 元素 (CSDL)

下面的架构声明演示了 Schema 元素及其子元素。

<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 架构规范映射到映射规范语言 (MSL) 中的存储架构定义语言 (SSDL) 规范。

本节内容

本节中的主题介绍用于实现 EDM 上构建的对象模型的类型和元素。以下主题介绍 Schema 元素以及 Schema 元素的子元素的 Namespace 属性,例如 EntityTypeAssociation

命名空间属性 (CSDL)

EntityType 元素 (CSDL)

Association 元素 (CSDL)

其中的每个类型在 CSDL 架构中都有子元素。

另请参见

概念

EntityContainer 元素 (CSDL)
实现实体 (EDM)
实现关联 (EDM)

其他资源

EDM 规范