ADO.NET数据表与数据读取器 [英] ADO.NET data table vs. data reader

查看:184
本文介绍了ADO.NET数据表与数据读取器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

DataReader的是不是一个DataTable更有效,如果你只需要显示数据,但不能对其进行操作。然而,为了获得数据访问层一个DataReader我要离开Connection对象打开?我想这也是一个非常大的效率问题。所以有,以便采取DataReader的充分利用?另一种方法中,以这

The DataReader is more efficient than a DataTable if you only need to show data but not manipulate it. However, to get a DataReader from the data access layer should I leave the connection object open? I think this is also a very big efficiency problem. So is there another approach to this in order to take full advantage of the DataReader?

推荐答案

是的,数据读取器绝对是最有效的 - 但你的不可以要保持连接打开长时间时间!

Yes, the data reader is definitely the most efficient - but you do not want to keep a connection open for a long period of time!

  • 使用的DataReader 来读取数据到一个实体对象;打开连接,读取数据,关闭连接
  • 做任何你需要做的与您的业务对象
  • 存储更改回来,例如通过使用即席SQL查询,存储过程,或任何你想要的东西;再次:打开连接,写回修改,关闭连接
  • use the DataReader to read your data into an entity object; open the connection, read the data, close the connection
  • do whatever you need to do with your business object
  • store the changes back, e.g. by using an ad-hoc SQL query, a stored procedure, or whatever else you want; again: open the connection, write back the changes, close the connection

这可能是最有效的,你可以得到 - 这是一些工作,有些无聊code,和所有的,但它一样快,因为它可以

This is probably the most efficient you can get - it's a bit of work, some boring code, and all, but it's about as fast as it can be.

如果你更感兴趣的开发人员的生产力比原始速度,为什么不使用某种类型的ORM做这一切的无聊,烦人的映射来回?保存的的大量的编码和凌乱的东西来维持!

If you're more interested in developer productivity than raw speed, why not use some kind of an ORM to do all this boring, annoying mapping back and forth? Saves you a lot of coding and messy stuff to maintain!

这篇关于ADO.NET数据表与数据读取器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆