如何将DataTable转换为IDatareader?

Ror*_*ker 12 .net datatable ado.net idatareader

我们都知道DataReader比DataTables更快,因为DataReader用于构建DataTable.

因为我已经有了DataTable .... 为什么我要将它转换为DataReader?

好吧,我正在创建一个名为IDataProvider的内部接口.此接口旨在在本地和作为WebService实现.该接口将有一个方法"Getdata",它接受一些标准信息并返回一些数据.

由于DataReader是最快的数据检索机制,我将使用它作为"GetData"方法的结果类型.但是我们也知道DataReader不可序列化,因此无法通过Web服务在Web上传输...

在Web的情况下,我将让本地代理类将数据作为DataTable请求,然后将其本地转换为DataReader.

通过这种方式,本地应用程序无需知道(或关心)它是在本地还是远程访问数据.

但是为了做到这一点,我需要知道...... 如何围绕预先存在的DataTable包装DataReader?

更新:我的业务逻辑不会保留在Web服务中,因为使用Webservice的DataProvider可以切换到不使用Web服务的DataProvider.因此,businessLogic将保存在客户端应用程序中.

FWIW我正在使用.Net 3.5 SP1

小智 30

只需在DataTable上调用CreateDataReader即可

  • @Rory,这些事情并不总是显而易见的.有太多了解它们.这就是我们拥有StackOverflow的原因. (6认同)