ADO.NET Entity Framework如何:通过每种类型多个实体集定义模型(实体框架)

本主题描述如何创建每种类型多个实体集 (MEST) 的概念模型。通过为每种类型定义多个实体集 (MEST),可以在基础数据库中的多个表具有相同结构时简化代码。当使用的实体类型与其他类型没有关联时,定义一个 MEST 模型很简单。但是,若要为与其他类型存在关联的实体类型定义一个 MEST 模型,则必须为对象图中的每个类型实现 MEST。有关更多信息,请参见 联机  MEST - 什么是 MEST 以及 MEST 如何工作?(可能为英文网页)本主题介绍如何为与其他类型没有关联的实体类型定义一个 MEST。

请注意,仅当基础数据库表具有相同结构时才应实现 MEST。

定义 MEST 模型的基本步骤如下:

  1. 使用多个 EntitySet 元素(每个元素具有相同的 EntityType 特性值)来在概念模型中为给定类型定义多个实体集。

  2. 使用映射规范语言 (MSL) 将每个实体集映射到适当的表。有关更多信息,请参见 EntitySetMapping 元素 (MSL)

下面的示例假定您已经安装了下面的示例数据库:

该示例还假定您已经将项目配置为使用。有关更多信息,请参见 配置实体框架(实体框架任务)

创建存储模型

创建概念模型

  • 将下面的 XML 文件添加到您的项目中并将其命名为 MEST.csdl

    - 或 -

    在 .edmx 文件中,用下面的 XML 文件中的 Schema 元素替换 edmx:ConceptualModels 元素中的 Schema 元素。

    请注意,已为 Course 实体类型定义了两个实体集。

定义概念模型与存储模型之间的映射

  • 将下面的 XML 文件添加到您的项目中并将其命名为 MEST.msl

    - 或 -

    在 .edmx 文件中,用下面的 XML 文件中的 Mapping 元素替换 edmx:Mappings 元素中的 Mapping 元素。

    请注意,每个实体集分别映射到适当的基础数据库。

请参见

其他资源

posted @ 2010-12-29 18:03 子福当自强 阅读(...) 评论(...) 编辑 收藏
悟道2012