Dapper with .NET Core - injected SqlConnection lifetime/scope : <p>I'm using .NET Core Dependency Injection to instantiate a <code>SqlConnection</code> object during the application startup, which I'm then planning to inject in my repository. This <code>SqlConnection</code> will be used by Dapper to read/write data from the database within my repository implementation. I am going to use <code>async</code> calls with Dapper.</p>

<p>The question is: should I inject the <code>SqlConnection</code> as transient or as a singleton? Considering the fact that I want to use <code>async</code> my thought would be to use transient unless Dapper implements some isolation containers internally and my singleton's scope will still be wrapped within whatever the scope Dapper uses internally.</p>

<p>Are there any recommendations/best practices regarding the lifetime of the SqlConnection object when working with Dapper? Are there any caveats I might be missing?</p>

<p>Thanks in advance.</p>
