title: What does the buffered parameter do in Dapper dot net?
body: <p>Dapper dot net has a <code>buffer</code> parameter (a bool), but as far as I can tell the <em>only</em> thing it does is cast the result to a list before returning it.</p>
  
  <p>As per the <a href="https://github.com/StackExchange/Dapper#buffered-vs-unbuffered-readers" rel="noreferrer">documentation</a>:</p>
  
  <blockquote>
    <p>Dapper's default behavior is to execute your sql and buffer the entire
    reader on return. This is ideal in most cases as it minimizes shared
    locks in the db and cuts down on db network time.</p>
    
    <p>However when executing huge queries you may need to minimize memory
    footprint and only load objects as needed. To do so pass, buffered:
    false into the Query method.</p>
  </blockquote>
  
  <p>I'm not sure how casting the result to a list accomplishes this. Am I missing something? My only idea is that it is supposed to set the <code>CommandBehavior</code> for the <code>ExecuteReader</code> to <code>CommandBehavior.SequentialAccess</code> (but it doesn't).</p>