Entity Framework Core 2.2:禁用特定实体的迁移

时间:2019-02-07 09:02:35

标签: entity-framework ef-migrations ef-database-first ef-core-2.2

我正在尝试在已经创建数据库的现有系统上构建一个aspnetcore应用程序,并打算在该系统上添加一些表。

我对数据库进行了反向工程,以将现有表作为实体添加到我的应用程序中,并且编写了自己的实体,稍后将添加它们。最后,将所有实体添加到单个DbContext中。

我的要求如下:

  • 我想为新添加的实体启用代码优先迁移
  • 我不希望迁移已存在的表/实体

注意:我不希望触摸生成的迁移代码。

有没有适当的方法来处理这种情况?

2 个答案:

答案 0 :(得分:3)

如果在 Add-Migration 操作之后通过检查命令行参数调用了实体构建器,则可以忽略该实体;

bottomAnchor

答案 1 :(得分:2)

  

有没有适当的方法来处理这种情况?

编辑迁移代码是处理这种情况的正确方法。

或者,您可以使用迁移创建一个DbContext,该DbContext仅包含映射到要使用迁移管理的表的实体。然后,使用所有用于读取和写入数据库的实体创建另一个DbContext。

请注意,您的迁移上下文可能缺少导航属性,如果您不想在数据库中引用不受迁移控制的表,则仅包含相应的外键属性,如果您不想在数据库中添加 real 外键