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

标签 entity-framework-migrations ef-core-3.1

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

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

  1. 从现有数据库搭建我的模型。
  2. 添加 InitialCreate 迁移。
  3. 删除 InitialCreate 中 Up() 方法的内容。
  4. 更新数据库以创建 __EFMigrationsHistory 表。

然后我向实体类添加了一个属性并运行了dotnet ef add migration

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

迁移中的 BuildTargetModel 有什么作用?为什么它必须复制大部分快照代码?我只希望在迁移中找到差异。

最佳答案

经 EF Core 开发人员确认,此行为是设计使然:

https://github.com/dotnet/EntityFramework.Docs/issues/2288

关于entity-framework-migrations - 为什么 Migration.BuildTargetModel 有这么多重复代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61193699/

相关文章:

c# - 使用 String.Contains 的 EF Core 查询

c# - 即使对于最简单的示例,EF Core 3.1/EF Core 5.0中的GroupBy也无法正常工作

c# - Entity Framework - 代码优先,删除字段而不更改架构

c# - EF 迁移生成一个迁移文件,其中包含不再存在的数据

asp.net-mvc-4 - ASP.NET SimpleMembershipProvider 自动迁移

c# - 当只有读操作时,将 DbContext 作为单例注入(inject)是否可以?

docker - 无法使用 EF Core Mysql 提供程序将 Docker 中的 Asp.net Core Web Api 连接到主机服务器上的非 Docker Mysql

entity-framework-core - 配置 EF Core CLI 参数

c# - 迁移 "our target project ' xxx' 与您的迁移程序集 'xxx' 不匹配“使用 aspnet Core 1.0 RC2 -

entity-framework - Entity Framework - 代码优先模型验证