質問: データベースから返す必要がある行が約50万行あります(理由は聞かないでください)。 次に、これらの結果をXML(さらにURGH)として保存し、このファイルを魔法のような場所にftpする必要があります。 また、結果セットの各行を変換する必要があります。 今、これは私が言っていることです.. `TOP 100`結果: * Dapperの`Query`メソッドを使用して、結果セット全体をメモリにスローします * 次に、AutoMapperを使用してデータベースPOCOをFileResult POCOに変換します * XMLに変換 * 次に、このコレクションをファイルシステムに保存します * 次にFTP これは100行で正常に機能しますが、500Kの結果を新しいコレクションに変換しようとすると、AutoMapperでメモリ不足例外が発生します。 だから、私はこれができるかどうか疑問に思っていました... * Dapperを使用してDBからデータをストリーミングする * *各行*について、オートマッパーit * XMLに変換 * 結果をディスクにストリーミング * <各行ごとに繰り返す> * 今、そのファイルを魔法の国にftpします。 RAMに*すべて*を投げるのをやめようとしています。私が考えているのは、データをストリーミングできる場合、単一の結果セットのデータのみを処理するため、メモリの効率が向上するということです。
回答: > Dapperの`Query`メソッドを使用して、結果セット全体をメモリにスローします > > オプションのパラメータの1つが、バッファするかどうかを選択できる`bool`あることは良い仕事です; p 既存の`Query`呼び出しに`, buffer: false`を追加するだけです。