大家用DataSet还是DataReader

leafsoar 2010-03-16 11:17:28
我们知道DataReader的优势是速度快,而DataSet则提供了更为强大的功能,但我们在web开发的时候用的
的都是三层架构,而且用实体类进行数据传输,在这种情况下,DataSet的优势就完全没有了,而且还占用很多的内存,大家平时用哪个呢,在三层中还用DataSet么
...全文
178 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
artwl_cn 2010-03-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wiki14 的回复:]
在一般的状况下,DataReader 的速度比 DataSet 来得快,
在 IIS 服务器上所使用的内存也较少。
如果数据来源控件只是用来填入控件的清单成为其选项,亦或是数据绑定控件并不需要提供排序或分页功能的话,则应该使用 DataReader。
反之,如果数据绑定控件需要提供排序或分页功能的话,则使用DataSet并承担其各项负面效应。
[/Quote]
wengjm 2010-03-16
  • 打赏
  • 举报
回复
需要操作修改数据的时候用DataSet
如果只要读取显示那就用DataReader
daichenghua 2010-03-16
  • 打赏
  • 举报
回复
DataSet
暖枫无敌 2010-03-16
  • 打赏
  • 举报
回复
看情况,可以二个都用。
jianke917 2010-03-16
  • 打赏
  • 举报
回复
首先看你的需求,一般在数据访问层中用DataRead读取并转换为List<T>
tstfish 2010-03-16
  • 打赏
  • 举报
回复
根据需求来定,做过一个测试,数据量在几万条以内的时候,dataset和reader的效率是差不多的。但是数据量越大,dataset的速度越慢。

三层中,dataset的优势是可以直接返回table,table可以作为几乎所有控件的数据源。但是需要类型的装换。
reader则需要List,list可以作为很多控件的数据源,我感觉没有table的多。不再需要转换。
但是dataset的功能之强大,以至于我们很多时候没有必要使用它,比如他的表间约束。


另外,三层中,实体类和dataset的优势 没关系,实体类可以看做不过是个临时数据载体。

leafsoar 2010-03-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 dragonforfly 的回复:]
根据需求而定,看来你可能还没有完全理解这两者的区别。应该多比较一下。
[/Quote]
两者区别没有完全理解,是的,只知道在DataReader填充DataSet内部也用的是DataReader
而在三层中,实体类,DataSet的优势在哪里?
一品梅 2010-03-16
  • 打赏
  • 举报
回复
三层的话,用DATAREADER在数据层。
段传涛 2010-03-16
  • 打赏
  • 举报
回复
ataSet
dabendano 2010-03-16
  • 打赏
  • 举报
回复
多数情况俺用DataReader
Alden 2010-03-16
  • 打赏
  • 举报
回复
根据需求而定,看来你可能还没有完全理解这两者的区别。应该多比较一下。
mail_ylei 2010-03-16
  • 打赏
  • 举报
回复
http://blog.csdn.net/tiancs/archive/2008/05/12/2436250.aspx
lbh119 2010-03-16
  • 打赏
  • 举报
回复
看情况使用
leafsoar 2010-03-16
  • 打赏
  • 举报
回复
在web开发中。如果实体类,而分页的话,有分页类可以使用,crud的操作数据传输也都用实体对象,
所以感觉在这样情况下没必要用DataSet了,只是在数据访问层返回数据,DataReader就行了
wiki14 2010-03-16
  • 打赏
  • 举报
回复
在一般的状况下,DataReader 的速度比 DataSet 来得快,
在 IIS 服务器上所使用的内存也较少。
如果数据来源控件只是用来填入控件的清单成为其选项,亦或是数据绑定控件并不需要提供排序或分页功能的话,则应该使用 DataReader。
反之,如果数据绑定控件需要提供排序或分页功能的话,则使用DataSet并承担其各项负面效应。
wiki14 2010-03-16
  • 打赏
  • 举报
回复
看情况使用。
wx8849 2010-03-16
  • 打赏
  • 举报
回复
看你的需求来选择啊~
Adechen 2010-03-16
  • 打赏
  • 举报
回复
视情况而定,两个都有用的时候

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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