比较LINQ to SQL Diagram 和Entity Data Model
2008-10-22 06:58
393 查看
比较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)
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,如下图所示:
推荐Entity Framework 相关文章:
1. Entity Framework – Update Model From Database, Part 1
http://blog.entlib.com/EntLib/archive/2008/10/19/entity-framework-update-model-from-database-part-1.aspx
2. Entity Framework – Update Model From Database, Part 2
http://blog.entlib.com/EntLib/archive/2008/10/19/entity-framework-update-model-from-database-part-2.aspx
3. Entity Framework 架构简介
http://blog.entlib.com/EntLib/archive/2008/10/19/entity-framework-architecture.aspx
4. 比较LINQ to SQL Diagram 和Entity Data Model
http://blog.entlib.com/EntLib/archive/2008/10/19/linq-to-sql-diagram-entity-data-model.aspx
英文链接:
http://www.scip.be/index.php?Page=ArticlesNET12
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,如下图所示:
推荐Entity Framework 相关文章:
1. Entity Framework – Update Model From Database, Part 1
http://blog.entlib.com/EntLib/archive/2008/10/19/entity-framework-update-model-from-database-part-1.aspx
2. Entity Framework – Update Model From Database, Part 2
http://blog.entlib.com/EntLib/archive/2008/10/19/entity-framework-update-model-from-database-part-2.aspx
3. Entity Framework 架构简介
http://blog.entlib.com/EntLib/archive/2008/10/19/entity-framework-architecture.aspx
4. 比较LINQ to SQL Diagram 和Entity Data Model
http://blog.entlib.com/EntLib/archive/2008/10/19/linq-to-sql-diagram-entity-data-model.aspx
英文链接:
http://www.scip.be/index.php?Page=ArticlesNET12
相关文章推荐
- 比较LINQ to SQL Diagram 和Entity Data Model
- Silverlight + WCF使用Linq to SQL以及ADO.NET Entity Data Model更新数据库子表方法
- ADO.NET - Entity Data Model vs. LINQ To SQL
- Silverlight + WCF使用Linq to SQL以及ADO.NET Entity Data Model更新数
- 分别使用ADO.Net Entity Data Model 和Linq to Sql 建立数据访问层
- SQL Server 2008 Entity Data Model 和 Linq to Entities
- DataRabbit 3.0 与 Linq to sql 性能比较
- LINQ to SQL (Part 2 - Defining our Data Model Classes)
- SQL Server 2008 Entity Data Model 和 Linq to Entities
- DataRabbit 轻量的数据访问框架(14)-- DataRabbit 3.0 与 Linq to sql 性能比较
- Difference between LINQ to SQL and LINQ to Entity(DataContext and DbContext)
- LINQ to SQL系列Part 2 - Defining our Data Model Classes
- EF Provider for Access/ODBC 以及ADO.Net Entity Framework 与Linq to SQL的比较和适用场景:
- 【转载】LINQ to SQL (Part 2 - Defining our Data Model Classes)
- EF Provider for Access/ODBC 以及ADO.Net Entity Framework 与Linq to SQL的比较和适用场景
- ScottGu's 博客之--LINQ to SQL 第二部分-定义数据模型类--LINQ to SQL (Part 2 - Defining our Data Model Classes)
- DataRabbit 轻量的数据访问框架(14)-- DataRabbit 3.0 与 Linq to sql 性能比较
- ADO.NET、ODP.NET、Linq to SQL、ADO.NET Entity 、NHibernate在Oracle下的性能比较
- ADO.NET与ORM的比较(3):Linq to SQL实现CRUD
- ADO.NET与ORM的比较(3):Linq to SQL实现CRUD