Ho circa 500K righe Ho bisogno di tornare dal mio database (per favore non chiedere perché: /).È possibile eseguire lo streaming di un set di risultati di database SQL Server di grandi dimensioni utilizzando Dapper?
Io poi necessario salvare questi risultati come XML (più URGH :() e l'ftp questo file da qualche parte magica.
Ho anche bisogno di trasformare l'ogni riga del set di risultati.
in questo momento, questo è quello che sto facendo con dire .. TOP 100
risultati:
- utilizzando il metodo di Dapper
Query<T>
, che getta l'intero set di risultati in memoria - ho quindi utilizzare AutoMapp er per convertire il database POCO alla mia FileResult POCO
- Converti in XML
- quindi salvare questa raccolta per il file system
- Poi FTP
Questo funziona bene per 100 righe, ma ottengo un Out Di eccezione di memoria con AutoMapper quando si tenta di convertire i risultati di 500K in una nuova raccolta.
Così, mi chiedevo se potevo fare questo ...
- flusso di dati da DB usando Dapper
- Per ogni riga, automapper è
- Convert to XML
- flusso risultato su disco
- < ripetizione per ogni riga >
- Ora FTP che file per magia-land
Sto cercando di smettere di buttare tutto nella RAM. Il mio pensiero è che se riesco a trasmettere materiale, è più efficiente in termini di memoria poiché lavoro solo su un singolo set di dati di risultati.
Qualcuno può aiutare?
Date un'occhiata qui: http://stackoverflow.com/questions/12697509/questo-segue-il-buffered-parameter-do-in-dapper-dot-net – Rob