我使用 .NET Core 依赖注入在应用程序启动期间实例化一个
SqlConnection
对象,然后计划将其注入到我的 repository 中。这个 SqlConnection
将由 Dapper 在我的 repository 实现中用于读写数据库。我将使用 Dapper 的 async
调用。问题是:我应该将 SqlConnection
注入为瞬态还是单例?考虑到我想要使用 async
,我的想法是使用瞬态,除非 Dapper 在内部实现了一些隔离容器,并且我的单例范围仍将包装在 Dapper 内部使用的任何范围之内。在使用 Dapper 时,是否有关于 SqlConnection 对象生命周期的建议/最佳实践?我可能会忽略哪些注意事项吗?提前感谢您。
ISomeDbConnectionFactory
并传递额外参数给工厂来确定需要创建哪个连接?还是有更优雅的解决方案? - Philip P.SqlConnection
服务于多个并发请求。根据MSDN的说法:“MARS操作不是线程安全的”。 - Steven