【问题标题】:Update database from models using entity framework in multi tenant .net core使用多租户 .net 核心中的实体框架从模型更新数据库
【发布时间】:2020-03-01 02:33:16
【问题描述】:

我正在使用 .net 核心实体框架。

我有多租户数据库。所以我保留了一个根租户数据库作为基础。我想使用实体框架将这些架构更改复制到所有其他数据库。我正在使用以下命令生成模型。

Scaffold-DbContext "Data Source=(local);Initial Catalog=sampleTenantDb;Integrated Security=True" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Tenants -Force

所以在创建新租户时,我只是使用

context.Database.EnsureCreated();

但是当我在代码中添加新表时,我想将其应用于所有租户。那我该怎么做呢?

我尝试了以下,但它不起作用(不添加剩余表)

myDbContext.Database.Migrate();

【问题讨论】:

    标签: entity-framework .net-core entity-framework-core sqlmigrations


    【解决方案1】:

    如果您的 DbContext 是使用 Scaffold-DbContext 创建的,则它不会有任何 Migrations。这适用于数据库优先的工作流程,您可以使用脚本将 DDL 更改应用到租户数据库,该脚本可能使用 SQL Server Data Tools 创建。

    【讨论】:

      【解决方案2】:

      您需要创建多个 dbcontext 对象并以这种方式传递连接字符串,您可以更新多个 db

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-03-30
        • 2019-05-11
        • 1970-01-01
        • 2018-04-06
        • 2011-04-28
        • 2011-04-26
        • 1970-01-01
        相关资源
        最近更新 更多