簡體   English   中英

可以使用Dapper流式傳輸大型SQL Server數據庫結果集嗎?

[英]It is possible to stream a large SQL Server database result set using Dapper?

我需要從我的數據庫返回大約500K行(請不要問為什么)。

然后我需要將這些結果保存為XML(更多URGH)和ftp這個文件到某個神奇的地方。

我還需要轉換結果集中的每一行。

現在,這就是我正在做的事情.. TOP 100結果:

  • 使用Dapper的Query<T>方法,將整個結果集拋出到內存中
  • 然后我使用AutoMapper將數據庫POCO轉換為我的FileResult POCO
  • 轉換為XML
  • 然后將此集合保存到文件系統
  • 然后FTP

這適用於100行,但在嘗試將500K結果轉換為新集合時,我使用AutoMapper獲得Out Of Memory異常。

所以,我想知道我是否能做到這一點......

  • 使用Dapper從數據庫傳輸數據
  • 對於每一行 ,自動化它
  • 轉換為XML
  • 將結果傳輸到磁盤
  • <每行重復>
  • 現在ftp該文件到魔法土地

我試圖停止把所有東西扔進RAM。 我的想法是,如果我可以流式傳輸,那么它的內存效率更高,因為我只處理單個數據結果集。

使用Dapper的Query<T>方法,將整個結果集拋出到內存中

那么,這是一個很好的工作,其中一個可選參數是一個bool ,可以讓你選擇是否緩沖; p

只需添加, buffer: false為您對Query<T>現有調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM