我们都知道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
只需在DataTable上调用CreateDataReader即可