title: IEnumerable Collection - Out of Memory Exception
body: <p>I have code in my C# console app that is querying a LARGE dataset in SQL, and adding it to an IEnumerable collection that I use to iterate through later in the app.  On a SQL table that returns less than 100K rows, it works great, but I have to use this to iterate through 100 Million records, After the SQL query runs, and Dapper tries to fill the collection, I end up with an OUT OF MEMORY exception error.  I'm pretty certain it's because it's trying to write 100 Million objects at a time.  Is there a way I can batch a collection with no more than say 500K objects, do what I need to do then come back and process another 500K and so on?  I essentially need to READ from SQL 500K records, then write those to a file, Read another 500K , write to another file.</p>
  
  <pre><code>    public List&lt;AxDlsd&gt; GetDistinctDlsdObjects(AxApp axApp, OperationType operationType)
      {
  
          if (operationType == OperationType.Assessment)
          {
  
              string query = $"SELECT DISTINCT(clipid) from {axApp.dlname}";
              using (var connection = _dbConnectionFactory.GetAxDbConnection())
              {
                  //SqlMapper.Settings.CommandTimeout = 0;
                  List&lt;AxDlsd&gt; dlsdrecord = new List&lt;AxDlsd&gt;();
  
                  return connection.Query&lt;AxDlsd&gt;(query, commandTimeout: 0, buffered: false ).ToList();
  
              }
          }
  </code></pre>