比较LINQ to SQL Diagram 和Entity Data Model

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


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

比较LINQ to SQL Diagram 和Entity Data Model


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
 
比较LINQ to SQL Diagram 和Entity Data Model


EDM : Association

比较LINQ to SQL Diagram 和Entity Data Model
 

EntityTypes 和 EntitySets 的命名

默认情况下,LINQ to SQL 自动更改复数形式的表名为单数形式的实体类名,EDM设计器则不会这样做。因此,当Northwind 数据表Employees 映射到EDM中时,EntityType 命名为Employees,这一命名容易导致混淆。

比较LINQ to SQL Diagram 和Entity Data Model

因此,建议手动对EntityType 更名 – Employee。

比较LINQ to SQL Diagram 和Entity Data Model

 

更名之后,你会发现EDM也更新了。在LINQ to Entities查询语句中,智能提示也正确显示ObjectQuery<Employee> NorthwindEntities.Employees,如下图所示:

比较LINQ to SQL Diagram 和Entity Data Model
 
推荐Entity Framework 相关文章:
1. Entity Framework – Update Model From Database, Part 1
2. Entity Framework – Update Model From Database, Part 2
3. Entity Framework 架构简介
4. 比较LINQ to SQL Diagram 和Entity Data Model
 
英文链接:
http://www.scip.be/index.php?Page=ArticlesNET12

 

 

相关文章:

  • 2021-05-31
  • 2021-12-01
  • 2022-02-19
  • 2021-06-08
  • 2021-06-03
  • 2022-01-29
猜你喜欢
  • 2022-12-23
  • 2022-02-24
  • 2021-07-04
  • 2021-07-22
  • 2021-11-23
  • 2021-06-20
  • 2022-03-05
相关资源
相似解决方案