将 SQL Datareader 转换为 C# 中的数据集
我正在将大量记录从数据库导出到数据集,这可能是导致 System.OutofMemory 异常的原因。为了防止这种情况,作为第一步,我决定使用 SQL Datareader。我担心的是表示不应该改变,并且 BL 中应该有最小的代码更改,我应该在 DL 中编写一个方法,该方法应该使用 SQL 读取器检索数据并填充数据集并返回 BL。
I am exporting large set of records from database to Dataset which may be a cause for System.OutofMemory exception. To prevent this, as first step I have decided to use SQL Datareader. My concern is presentation should not be changed and there should be minimal code change in BL, I should write a method in DL which should retrieve data using SQL reader and fill the dataset and return to BL.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 DataTable.Load() 方法。
You can use DataTable.Load() method.
无论您还是框架填充数据集,您都会遇到 OutOfMemoryException。
您必须返回 IEnumerable 并更改 BL 代码来处理它。
或者,您可以尝试设置 DataTable.MinimumCapacity 以避免内存碎片。
Whether you or the Framework fills the DataSet you'll have the OutOfMemoryException.
You have to return an IEnumerable and change the BL code to handle it.
Alternatively, you could try to set the DataTable.MinimumCapacity to avoid memory fragmentation.