Entity Framework和DataSet,Linq to SQL有什么区别

EF只是ADO.NET中的一个最新的附属物。那么它对已经存在的代码,比如使用DataSet和DataReader或者Linq to SQL有什么影响呢?
你能一直用这些技术写新代码吗?

Dataset和Datareader不会被丢弃。你仍然能使用这些技术方法。EF提供了一个完全不同的方法获取和处理数据。你不需要整合这两种技术,比如,使用EF获取数据,然后把数据放入DS中。
这样做会没有必要,你应该只选择一种技术。你学了EF后就会知道,它提供了完全不同的样式访问数据,你可能会发现EF可能使用某些项目,但不适应其他的。
DataSet

EF使用以EntityDataReader的形式使用DataReader,它继承了同样的DbDataReader作为SqlDataReader。这也是EntityClient查询所返回的。事实上,你会发现用EntityClient代码查询EDM和用ADO.NET查询数据库很相似。都用到了connections,commands,command参数,并且返回一个DbDataReader。

Linq To SQL和EF表面上很相似,都是使用数据库模型提供Linq查询。
一个经常被问到的问题是,为什么微软创建了2个相似的技术。LTS是从Linq项目中演化而来的。EF则是数据可编程性团队的一个项目,它聚焦在Entity SQL语言。现在,每个技术已经出现这么久了,也已经展示给微软的其他团队了。很明显,微软又2个有些的新技术,各自瞄准不同的应用场合。
EF团队用Entity配合Linq来工作,这就是很多开发者混淆了,因为LTS和LTE太像了,并且在2008年的11月,这个团队宣布,因为这个技术瞄准了相同的问题,以后他们会专注于开发Entity Framework。Entity Framework支持了多个数据库,通过Entity数据模型可以结合了许多微软即将推出的新技术。然而,他们将持续维护LINQtoSQL。这对许多已经投资于LINQtoSQL上的开发者而言不是好事情。微软承诺维护Linq to SQL,微软也保证提供一个移植路径,将Linq to sql移植到Entity Framework并且微软在将来编程指导中,推荐使用EntityFramework

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值