过去可以在创建后更改上下文的连接字符串。
我无法弄清楚如何使用EF Core(和SQLite)来做到这一点。我正在使用ASP.NET Core内置IoC容器以通常的方式注册上下文。
services.AddDbContext<MyContext>(options =>
options.UseSqlite(cfg.GetConnectionString("DefaultConnection")));
我无法更改MyContext
类,因为它位于另一个由其他人负责的程序集中。所以我无法更改构造函数OnConfiguring()
等等。
所以我需要使用新的连接字符串重新创建/初始化容器的当前实例。
有办法做到这一点吗?
答案 0 :(得分:-2)
当然,哟可以在ConfigurationBuilder
Startup
进行
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
Configuration = builder.Build();
然后在您的上下文中使用它。如果ConfigurationBuilder
{/ 1}}将在更改