LINQ to SQL Diagram(DBML)和Entity Data Model(EDMX)都是.Net Framework v3.5 引入的新特性。相信有很多人不清楚它们之间的差异,这里简要分析比较。下面以Northwind 范例数据库进行说明:
LINQ to SQL 对象关系图(Object Relational Diagram)

Entity Data Model (EDM) 实体数据模型

Entity Data Model Diagram 和LINQ to SQL Diagram 有大量的相似之处。一个EDM 实体分为2部分:Scalar 属性和Navigation 属性。一个Navigation属性关联另一个EntityType实体类型,并定义了关系的方向(one-to-many, one-to-one 等等)。
EDM关联也LINQ to SQL关联采用不同的可视化属性界面,但实际上表示相同的内容。
LINQ to SQL : Association

EDM : Association
EntityTypes 和 EntitySets 的命名
默认情况下,LINQ to SQL 自动更改复数形式的表名为单数形式的实体类名,EDM设计器则不会这样做。因此,当Northwind 数据表Employees 映射到EDM中时,EntityType 命名为Employees,这一命名容易导致混淆。
因此,建议手动对EntityType 更名 – Employee。
更名之后,你会发现EDM也更新了。在LINQ to Entities查询语句中,智能提示也正确显示ObjectQuery<Employee> NorthwindEntities.Employees,如下图所示:

英文链接:
http://www.scip.be/index.php?Page=ArticlesNET12