[心得]ADO.Net 2.0的IDataReader要重用

看板C_Sharp (C#)作者 (Tomex Ou)時間18年前 (2007/03/18 00:28), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/2 (看更多)
在 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)

03/18 17:01, , 1F
以後寫完好文請隨手m一下 :p
03/18 17:01, 1F
文章代碼(AID): #15_1SjOU (C_Sharp)
文章代碼(AID): #15_1SjOU (C_Sharp)