【问题标题】:EF Core modifying table from modelBuilder code in OnModelCreating()EF Core 在 OnModelCreating() 中从 modelBuilder 代码修改表
【发布时间】:2019-09-15 02:59:30
【问题描述】:

我在上下文文件中有以下代码,它是在开发数据库中实现的,所以我只需要在生产数据库中创建它。但我不确定如何使用 EF Core 和 ASP.Net Core Vue.js 应用程序?

我在项目中没有任何迁移文件,所以我认为以前的开发人员没有使用迁移,是否有另一种方法可以在不使用代码优先迁移并创建一个的情况下对生产数据库进行这些更改项目中的迁移文件夹?

来自 ASP.Net MVC EF 代码优先背景,我了解使用 Entity Framework 更新数据库的 add-migration 和 update-database 调用。但这是一个带有 ASP.Net Core 项目的 Vue.js,来自我继承的工作,它没有这个迁移文件夹,所以我很想知道 prev 开发人员是如何在 db 端进行更改的?除非他直接在数据库里做!?

如果他使用了 add-migrations 和 update-database,我会在项目中看到迁移文件夹和文件,但我没有。

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Witness>()
            .Property(p => p.WitnessName)
            .HasComputedColumnSql("(rtrim(concat([LastName],', ',[FirstName],' ',[MiddleName])))");
 } 

【问题讨论】:

  • 现在我更多地查看项目,我认为前一个开发人员从未使用过迁移!

标签: c# entity-framework entity-framework-core entity-framework-migrations ef-core-2.2


【解决方案1】:

[没有迁移] 我很想知道 prev 开发人员是如何在 db 端进行更改的?除非他直接在数据库里做!?

如果不是手动的,那么可能是数据库初始化程序。您始终可以使用数据库初始化程序创建一个空数据库。然后,您可以使用该空数据库生成架构差异以应用于您的生产数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 2022-08-21
    • 2018-07-28
    • 1970-01-01
    相关资源
    最近更新 更多