【发布时间】:2016-10-24 12:47:31
【问题描述】:
我开发了一个简单的网络应用程序,并且在未来,我想将它作为多租户来实现。
所以我想将连接字符串直接写入OnConfiguring方法:
public class ApplicationContext : DbContext
{
public DbSet<User> Users { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("connection string from appsettings.json");
base.OnConfiguring(optionsBuilder);
}
}
启动类:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationContext>();
services.AddMvc();
}
如何将连接字符串从appsettings.json 提取到ApplicationContext 类中?
我不想为ApplicationContext 类创建任何构造函数。
【问题讨论】:
-
您需要将连接字符串作为参数传递给 AddDbContext IIRC
-
为什么要将其注册到
OnConfiguring方法而不是services.AddDbContext<ApplicationContext>(options => options.UseSqlServer("..."))内? -
@Tseng 我以后需要动态更改连接字符串以实现多租户。
-
@A.Gladkiy 您要动态更改正在使用的上下文的连接字符串吗?听起来是个坏主意。为什么不多次注册上下文?
-
@CamiloTerevinto 我想在用户注册后每次创建数据库。多次注册上下文是什么意思?
标签: c# asp.net-core .net-core