AddDbContextFactory with passing a connection string

Viewed 458

Is there a way to pass the connection string when calling _contextFactory.CreateDbContext(options)? I would like to change the sqlite filename when I call the factory CreateDbContext method.

This is the example that is given on the EF Core docs page:

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContextFactory<ApplicationDbContext>(options =>
        options.UseSqlite(@"Data Source=blogDB.db"));
}

public class ApplicationDbContext : DbContext
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
    }
}

private readonly IDbContextFactory<ApplicationDbContext> _contextFactory;

public MyController(IDbContextFactory<ApplicationDbContext> contextFactory)
{
    _contextFactory = contextFactory;
}

public void DoSomething()
{
    using (var context = _contextFactory.CreateDbContext())
    {
        // ...
    }
}

0 Answers
Related