Entity framework migrations 为什么Migration.BuildTargetModel有这么多重复代码?

Entity framework migrations 为什么Migration.BuildTargetModel有这么多重复代码?,entity-framework-migrations,ef-core-3.1,Entity Framework Migrations,Ef Core 3.1,我正在针对现有SQL Server数据库设置EF Core 3.1.3迁移 这就是我到目前为止所做的: 从现有数据库构建我的模型 添加初始值create migration 删除InitialCreate中Up()方法的内容 更新数据库以创建uu EFMigrationsHistory表 然后我向实体类添加了一个属性,并运行了dotnet ef add migration 现在来看第二次迁移的BuildTargetModel方法,我看到它包含与MyDbContextModelSnapshot.B

我正在针对现有SQL Server数据库设置EF Core 3.1.3迁移

这就是我到目前为止所做的:

  • 从现有数据库构建我的模型
  • 添加初始值create migration
  • 删除InitialCreate中Up()方法的内容
  • 更新数据库以创建uu EFMigrationsHistory表
  • 然后我向实体类添加了一个属性,并运行了
    dotnet ef add migration

    现在来看第二次迁移的BuildTargetModel方法,我看到它包含与MyDbContextModelSnapshot.BuildModel几乎相同的代码。即,它列出了所有实体及其所有属性和关系


    迁移上的BuildTargetModel做什么?为什么它必须复制大多数快照代码?我只希望在迁移中找到差异。

    正如EF Core的开发人员所确认的,这种行为是出于设计: