Поделиться через


Элемент Schema (язык CSDL)

Элемент Schema является корневым элементом концептуальной схемы в модели Entity Data Model (EDM). Элемент Schema является спецификацией пространства имен Namespace, содержащей сущности и ассоциации, которые используются определяемой объектной моделью. Концептуальная схема определяется на языке CSDL. Элементы EntityType и Association концептуальной схемы являются дочерними для элемента Schema.

Элемент EntityContainer является спецификацией класса в проектируемой объектной модели. Элементы EntitySet и AssociationSet являются дочерними для элемента EntityContainer.

Дополнительные сведения об элементах EntityType и Association см. в подразделах этого раздела. Сведения об элементе 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 сопоставляются со спецификациями схемы SSDL на языке MSL.

В этом разделе

В подразделах этого раздела описываются типы и элементы, которые используются для реализации объектной модели, построенной на модели EDM. Атрибут Namespace элемента Schema и его дочерние элементы, например EntityType и Association, также описаны в следующих разделах.

Атрибут Namespace (язык CSDL)

Элемент EntityType (язык CSDL)

Элемент Association (язык CSDL)

Каждый из этих типов имеет дочерние элементы в схеме CSDL.

См. также

Основные понятия

Элемент EntityContainer (язык CSDL)
Реализация сущностей (модель EDM)
Реализация ассоциаций (модель EDM)

Другие ресурсы

Спецификации модели EDM