ADO.NET中DataSet和Entity Framework的区别

风中飘过一行代码 2013-12-16 09:25:14
以前做过几个项目,在存放数据这块,用过DataSet和Entity Framework,总的来说用DataSet的时候比较多,因为感觉查出来的表看着比较直观。我就是想问下各位大神,这两个的关键区别在哪?做一个项目,我怎么去选择用哪种?
...全文
320 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cauyahui 2014-10-21
  • 打赏
  • 举报
回复
我觉得,与实体有关的数据用EF,视图之类的用ado.net,毕竟EF偏向面向对象
  • 打赏
  • 举报
回复
引用 1 楼 guwei4037 的回复:
DataSet是离线的数据集,而Entity Framework是面向对象的操作。思维方式不同。
因为最近我做的一个项目用的是mysql数据库,而.net好像并没有自带的mysql连接器,所以得从mysql官网上下载connecter,引用里面的MySql.Data.dll后,总是没法打开可视操作选择连接数据库的那个界面,所以我只能自己写mysql的有关查询类,并通过sql语句获得数据。我想问下,就是ef对mysql支持的怎么样?不会也没有原生的mysql连接器吧。。
wyl1027net 2013-12-16
  • 打赏
  • 举报
回复
个人认为对存储到DataSet中的数据做操作较方便,,,EntityFramework是微软的一个ORM,,,它的出现使得对ADO.NET的更简洁,优雅的改进,,,也是另外一种对接数据库的方式,,,,具体哪一个一方面可能要根据项目需求,,另外一点也可能会根据人的喜好来选择,,,达到自己的满意度最佳
蝶恋花雨 2013-12-16
  • 打赏
  • 举报
回复
首先看你习惯使用哪个。 我建议你先使用dataset然后慢慢转。不要一下直接用EF 。如果用之前先系统学习下。了解下机制。然后再用。
全栈极简 2013-12-16
  • 打赏
  • 举报
回复
其实我觉得你应该考虑是用ado.net还是用ef。 这里已经有人给了看法,http://zhoufoxcn.blog.51cto.com/792419/313309。 我认为任何事物都是向前发展的,新事物的产生必定有它产生的背景。当初我们用ado.net+sql与数据库进行交互,充分展示了sql语言的魅力,但其实这是有问题的。作为C#程序员,需要额外的学习数据库开发,甚至为了适应各种数据库要学习各种不同的sql特性,这其实是软件编程领域技术不成熟的表现。好在java有了hibernate,后来c#也有了移植版本nhibernate,直到微软推出ef。我个人认为,C#程序员应该关心C#本身,而不是学一些杂七杂八的东西,可能这有点理想化。 所以我非常推崇ef,虽然它的开发效率要高、执行效率低(还是要转化为sql执行),但是作为C#程序员,应该是面向对象的。
  • 打赏
  • 举报
回复
引用 1 楼 guwei4037 的回复:
DataSet是离线的数据集,而Entity Framework是面向对象的操作。思维方式不同。
谢谢。这个我知道。就是在选择用哪个的时候,有什么因素是需要考虑的吗?
全栈极简 2013-12-16
  • 打赏
  • 举报
回复
DataSet是离线的数据集,而Entity Framework是面向对象的操作。思维方式不同。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧