陈斌彬的技术博客

Stay foolish,stay hungry

Entity Framework 的核心 – EDM

EDM(Entity Data Model)

实体数据模型,简称EDM,由三个概念组成。概念模型由概念架构定义语言文件(.csdl)来定义,映射由映射规范语言文件(.msl),存储模型(又称逻辑模型)由存储架构定义语言文件 (.ssdl)来定义。这三者合在一起就是EDM模式。EDM模式在项目中的表现形式就是扩展名为.edmx的文件。这个包含EDM的文件可以使用Visual Studio 中的EDM 设计器来设计。由于这个文件本质是一个 xml 文件,可以手工编辑此文件来自定义CSDL、MSL 与SSDL这三部分。下面详细分析一下这个xml文件及三个其重要组成部分:

这个设计器生成的文件的注释可以使你很清楚的明白这个EDM 文件的组成。一点点分析一下,第一行表 明这是一个xml 文件。

<?xml version="1.0" encoding="utf8"?>

以下这一行是EDM 的根节点,定义了一个表明版本的属性及这个EDM 使用的命名空间:

<edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx">

接下来由注释可以看到EDM 被分为两部分,第一部分是EDM 的核心,第二部分用于实体设计器,这一部 分不用研究。

第一部分中节点<edmx:Runtime>下定义了以下三部分:

  • EDM 之 CSDL
  • EDM 之 SSDL
  • EDM 之 MSL