我们都知道 DataReader 比 DataTables 更快,因为 DataReader 用于构建 DataTable。
因此,鉴于我已经有一个 DataTable....为什么要将其转换为 DataReader?
好吧,我正在创建一个名为 IDataProvider 的内部接口。此接口旨在在本地和作为 WebService 实现。该接口将有一个方法“Getdata”,它接受一些标准信息并返回一些数据。
由于 DataReader 是最快的数据检索机制,因此我希望将其用作“GetData”方法的结果类型。但是,我们也知道 DataReader 不可序列化,因此无法通过 Web 服务在 Web 上传输...
在网络的情况下,我会让本地代理类将数据请求为 DataTable,然后在本地将其转换为 DataReader。
通过这种方式,本地应用程序不需要知道(或关心)它是在本地还是远程访问数据。
但是,为了做到这一点,我需要知道...如何将 DataReader 包装在预先存在的 DataTable 周围?
更新:我的业务逻辑不会保留在 Web 服务中,因为使用 Web 服务的 DataProvider 可以切换为不使用的。因此,businessLogic 将保存在客户端应用程序中。
FWIW我正在使用.Net 3.5 SP1