我们都知道DataReader比DataTables更快,因为DataReader用于构建DataTable。如何将DataTable转换为IDatareader?
因此,鉴于我已经有一个DataTable .... 为什么我要将它转换为DataReader?
那么我正在创建一个名为IDataProvider的内部接口。该接口旨在在本地和WebService中实现。该接口将有一个方法“Getdata”,该方法接收一些标准信息并返回一些数据。
由于DataReader是最快的数据检索机制,因此我希望将其用作“GetData”方法的结果类型。 但是我们也知道DataReader是不可序列化的,因此不能通过Web服务在网络上传输...
在网络的情况下,我会让本地代理类以DataTable的形式请求数据,然后将其本地转换为DataReader。
通过这种方式,本地应用程序无需知道(或关心)它是否在本地或远程访问数据。
但是,为了做到这一点,我需要知道...... 如何在预先存在的DataTable上包装DataReader?
更新:我的业务逻辑不会保留在webservice中,因为使用Webservice的DataProvider是可切换的,而不是。 因此,businessLogic将被保留在客户端应用程序中。
FWIW我正在使用.Net 3.5 SP1
2 Downvotes任何人都在关心评论为什么? – 2009-01-26 12:11:01
可能因为您只声明您要使用DataReader,因为您认为它会帮助您提高性能。有关应用程序设置的更多信息,为什么要使用DataReader而不是DataTable以及业务逻辑所在的位置可能会有所帮助。 – 2009-01-26 12:13:10
业务逻辑驻留在客户端应用程序中。 – 2009-01-26 12:20:24