EntityContainer 元素 (SSDL)

用存储架构定义语言 (SSDL) 定义的 EntityContainer 是用于描述容器的元数据,该容器为通过使用 实体数据模型 (EDM) 定义的对象模型生成的应用程序持久保存数据。EntityContainer 通常是关系数据库管理系统 (RDMS)(如 SQL Server)中的数据库。

SSDL 架构的命名空间名称以及该命名空间包含的 EntityContainer 元素映射到概念性架构定义语言 (CSDL) 架构的相应命名空间名称和该命名空间包含的 EntityContainer 元素。在 XML 层次结构中,EntityContainer 元素独立于 Schema 元素,不过 EntityContainer 是在架构中定义的。这对于将实体容器映射到存储而言是至关重要的。在映射文件中,EntityContainer 的完全限定名称不包含架构命名空间名称。

有关映射 EntityContainer 的更多信息,请参见 EntityContainerMapping 元素 (MSL)

SSDL 语法是用来定义基于 EDM 生成的应用程序所用的存储模型的元数据。下面的示例中声明的 EntityContainer 是一个数据库对象。它包含的每个实体集都表示 Adventure Works 数据库的 Human Resources 部分的一个表。下面的语法包含雇员、部门、雇员地址、雇员历史记录等的实体集。HumanResourcesEntityContainer 定义为 AdventureWorksHRTarget 命名空间的一部分。在生成过程中,所用的别名 Self 都将扩展为此命名空间名称。

  <EntityContainer Name="HumanResources">
    <EntitySet Name="Department" EntityType="Self.Department" />
    <EntitySet Name="Employee" EntityType="Self.Employee" />
    <EntitySet Name="EmployeeAddress" EntityType="Self.EmployeeAddress" />
    <EntitySet Name="EmployeeDepartmentHistory"
                    EntityType="Self.EmployeeDepartmentHistory" />
    <EntitySet Name="EmployeePayHistory"
                              EntityType="Self.EmployeePayHistory" />
    <EntitySet Name="JobCandidate" EntityType="Self.JobCandidate" />
    <EntitySet Name="Shift" EntityType="Self.Shift" />
    <AssociationSet Name="FK_Employee_Employee_ManagerID"
        Association="Self.FK_Employee_Employee_ManagerID">
      <End Role="Employee" EntitySet="Employee" />
      <End Role="Employee1" EntitySet="Employee" />
    </AssociationSet>
    <AssociationSet Name="JobCandidate_Employee_EmployeeID"
             Association="Self.FK_JobCandidate_Employee_EmployeeID">
      <End Role="Employee" EntitySet="Employee" />
      <End Role="JobCandidate" EntitySet="JobCandidate" />
    </AssociationSet>
  </EntityContainer>

有关此 EntityContainer 中定义的实体集和关联集的更多信息,请参见本节中的以下主题:

Name 属性 (EntityContainer SSDL)

EntitySet 元素 (EntityContainer SSDL)

AssociationSet 元素 (EntityContainer SSDL)

另请参见

概念

实体集 (EDM)
关联集 (EDM)
EntityContainerMapping 元素 (MSL)
AdventureWorks 完整模型 (EDM)