作者tomex (Tomex Ou)
看板C_Sharp
标题[心得]ADO.Net 2.0的IDataReader要重用
时间Sun Mar 18 00:28:26 2007
在 ADO.Net 1.0时代,DataReader是读取db最有效率的物件
但使用上不允许multi-active recordset,意思没有close前连线是被占住的。
而且又要loop去读值,没啥变化,因此很少用它。
在ADO.Net 2.0时,它为了解决很有前版效能上的问题
又大大地重用IDataReader的类别
例如支援multi-actve recordset,又重要是可以让DataTable直接吃
因此你可以迅速得到schema及资料
而不用借用肥肥的data adapter来fill()填充。
DataTable dt = new DataTable();
dt.Load(dataReader); // 得到schema及data
DataTable又支援导出其IDataReader,如
dt.CreateDataReader()导出,就会可另一个data table物件快速填充复制。
在以往,要复制datatable,只能先dt.Clone(); 取得schema
再用Add(DataRow[])方式,效能就变差了。
结论,
可能很易挥发的快速IDataReader,因为DataTable能够cache它
因此我开始又大量使用它。
Author: Tomex Ou
--
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 编辑: tomex 来自: 61.217.196.247 (03/18 00:29)
1F:推 ithinkurdumb:以後写完好文请随手m一下 :p 03/18 17:01