首页 新闻 搜索 专区 学院

LINQ TO SQL 和 ADO.NET ENTITY 有什么区别呢?

0
[已解决问题] 解决于 2009-06-22 14:04

LINQ TO SQL 和 ADO.NET ENTITY 有什么区别呢?

感觉他们用法都是一样的啊

天堂口的主页 天堂口 | 小虾三级 | 园豆:514
提问于:2009-06-18 20:40
< >
分享
最佳答案
0

你可以这样简单理解它们之间的区别:

Ado.net Entity Framework 是 LINQ to SQL的升级版

LINQ to SQL是将数据库原封不动地映射成模型,而Ado.net Entity Framework可以进行更高层次的映射和自定义,比如这样两个表:

学生表

ID,名称,所在学校ID

学校表

ID,名称

 

学生表的 所在学校ID 与 学校表的 ID 相关联

 

LINQ to SQL经过映射后的模型中,学生实体的“所在学校ID”属性就是一个ID号,而Ado.net Entity Framework中该属性则是一个学校对象,也就是说Ado.net Entity Framework更接近于面向对象数据库的使用方法。

斯克迪亚 | 老鸟四级 |园豆:4124 | 2009-06-18 21:42
其他回答(3)
0

LINQ to sql虽然将数据库映射成模型,但是当我们在使用linq to sql的时候并没有彻底的隔离开数据库与程序的关系。而AEF则是对EDM的模型操作,是程序人员可以彻底的不去关注数据库领域的相关知识,还有一点很重要的就是由于我们是对EDM模型操作,所以我们的程序只要写一次就可以适应不同的数据库,当然这个的前提是不同的数据库要提供不同的Provider。

可以看下这文:

http://msdn.microsoft.com/en-us/library/cc161164.aspx

生鱼片 | 园豆:5757 (大侠五级) | 2009-06-19 09:40
0

其实很多细节挺不一样的,用惯了LINQ to SQL后再用EF很不习惯。。。

LINQ to SQL让我们自已写的数据层基本都报废了,而EF更像是直接在C#操作数据库转化的数据对象。

风海迷沙 | 园豆:4453 (老鸟四级) | 2009-06-19 15:58
0

LINQ TO SQL性能很差,直接用Ado.net性能好点

toEverybody | 园豆:257 (菜鸟二级) | 2011-01-21 16:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册