如何获得每个类注入的DbContext的新实例?

时间:2018-08-30 12:18:13

标签: c# asp.net-core dependency-injection

配置Ef Core db上下文作为每个类而不是每个调用的单独实例进行注入,是否可行?我找不到任何重载来实现这一目标。

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<MyDbContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("Default")).EnableSensitiveDataLogging());
}

1 个答案:

答案 0 :(得分:0)

下面的代码将确保每次我们调用IDBContext对象时都注入一个新实例。我们需要创建一个类(存储库类),该类接受IDBContext作为构造函数参数,以便每次调用该类时,运行时都将注入一个新实例。

services.AddDbContext<MyDbContext>(
    options => options.UseSqlServer("<connection string>"),
    ServiceLifetime.Transient);