IDataReader如何快速转成DataTable?
由于某些原因,不能使用IDbDataAdapter的Fill方法拿到DataSet,于是自己使用ExecuteReader拿到IDataReader并一行一行塞入DataTable,这样速度很慢,网上的方法都已经试过了。经过测试,拿到2W+条数据,IDbDataAdapter.Fill()只需要16秒,而我自己转需要250秒+。网上看了下Fill的底层也是先执行ExecuteReader拿到IDataReader,再去转换成DataTable,但是我不明白它具体怎么做到这么快的。以下是对比图:
需求:需要一个快速将IDataReader转成DataTable的方法,最好的情况是能跟Fill方法持平,或者直接能使用到Fill底层的转换方法。
麻烦从GPT复制答案的不要来回答,都是百度能搜到的东西,都尝试过了