我要为myapp使用两个datacontext
services.AddDbContext<AuthenticationContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("IdentityConnection")));
services.AddDbContext<DataContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("MyConection"))
);
传递给AuthenticationContext构造函数的DbContextOptions必须是DbContextOptions。注册多个DbContext类型时,请确保每种上下文类型的构造函数都具有DbContextOptions参数,而不是非通用DbContextOptions参数。'
答案 0 :(得分:1)
在ApplicationDbContext
中的Startup.cs
/身份之前注册您的其他上下文。
services.AddDbContext<MyDbContext>
services.AddDbContext<ApplicationDbContext>
答案 1 :(得分:0)
您可以在应用程序中使用多个dbcontext,将新的dbcotext添加到第一个dbcontext中。
1。创建dbContext
public class DataContext: DbContext
{
public DataContext(DbContextOptions<DataContext> options)
: base(options)
{
}
}
2.appsettings.json:
"ConnectionStrings": {
"IdentityConnection": "xxx",
"MyConection": "xxx"
},
3。注册dbcontext
services.AddDbContext<DataContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("MyConection"))
);
如果您想添加迁移,只需指定要使用的上下文,例如:
Add-Migration init -Context DataContext
Update-Database -Context DataContext