gpt4 book ai didi

c# - 如何通过代码在运行时添加迁移

转载 作者:太空宇宙 更新时间:2023-11-03 14:40:04 25 4
gpt4 key购买 nike

我在 rum 时间更改 Db-context 以代表其他数据库连接的条件,所以问题是如果数据库不存在,我们无法通过代码在运行时创建数据库。

public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<TenantsDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")))

services.AddDbContext<MultitenantDbContext>();

// for dependency.
services.AddTransient<ITenantProvider, DatabaseTenantProvider>();
.AddEntityFrameworkStores<MultitenantDbContext>()
.AddDefaultTokenProviders();
}

并在运行时更改数据库连接。

public MultitenantDbContext(DbContextOptions<MultitenantDbContext> options,
ITenantProvider tenantProvider) : base(options)
{
_tenantProvider = tenantProvider;
_connectionString = @"Server=Test\SQL2017;Database=" + _tenantProvider.GetTenantId() + ";User ID=sa;Password=123;";
}

最佳答案

我想你可以 dbContext.Migrate();此外,您还可以使用 dbContext.EnsureCreated();。它将检查数据库是否存在,如果不存在则迁移。

关于c# - 如何通过代码在运行时添加迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57473926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com