.Net核心依赖注入IdbConnection

Chr*_*kis 2 c# dependency-injection idbconnection asp.net-core-mvc

我有一个使用autofac进行依赖注入的.NET MVC应用程序。当应用启动时,以下代码注册IDbConnection

var connectionString =  ConfigurationManager.ConnectionStrings["DBConnectionStringName"].ConnectionString;
this.Register(c => new SqlConnection(connectionString)).As<IDbConnection>().InstancePerRequest();
Run Code Online (Sandbox Code Playgroud)

我试图找到如何使用框架提供的默认依赖项注入机制在.Net Core MVC中执行相同的操作。我正在考虑添加这样的东西

 public void ConfigureServices(IServiceCollection services)
        {
            services.AddTransient<IDbConnection, SqlConnection>();
Run Code Online (Sandbox Code Playgroud)

但我不知道在哪里添加连接字符串

Chr*_*kis 7

我相信我找到了。它是

services.AddTransient<IDbConnection>(db => new SqlConnection(
                    Configuration.GetConnectionString("AppConnectionString")));
Run Code Online (Sandbox Code Playgroud)

  • `AddScoped`等同于`InstancePerRequest`。`AddTransient`等同于`InstancePerDependency`。 (2认同)