假设我有一个带有控制器的 ASP.NET Core 应用程序,该控制器使用DbContext
实例作为构造函数参数,遵循标准依赖注入约定。
控制器和DbContext
类型都与数据库无关。该应用程序设置其类DbContext
中的每个 DI 实例要使用的默认选项。StartUp
在运行时的某一时刻,EF Core 将SqlConnection
在它判断有必要时实例化一个实例。
我对如何创建此连接实例感兴趣。更具体地说,我想在InfoMessage
和上附加事件处理程序StateChange
。但是,这必须以不会破坏 EF Core 的正常行为和连接管理的方式完成。
是否有任何服务可以注入(IoC)以便 EF 使用SqlConnection
我自己的实例工厂?或者至少有一种方法可以拦截它创建的实例?