【发布时间】:2015-10-16 06:42:40
【问题描述】:
(版本 7.0.0-beta5)
有没有办法将一个类或DbSet 排除在migration add 命令评估中?
我正在构建的数据库将包含一些从另一个环境复制的表。它们需要包含在 DbContext 中,以便可以查询和加入它们,但绝不应该为它们生成迁移。
在这种情况下最好的做法是什么?
【问题讨论】:
标签: entity-framework-migrations entity-framework-core
(版本 7.0.0-beta5)
有没有办法将一个类或DbSet 排除在migration add 命令评估中?
我正在构建的数据库将包含一些从另一个环境复制的表。它们需要包含在 DbContext 中,以便可以查询和加入它们,但绝不应该为它们生成迁移。
在这种情况下最好的做法是什么?
【问题讨论】:
标签: entity-framework-migrations entity-framework-core
从 beta6 开始,最适合我的是确保 DbContextModelSnapshot 包含复制实体的映射。
一旦实体被映射,迁移脚手架过程会将模型快照与实体进行比较,以确定是否有更改。由于实体类与模型快照匹配,因此不会生成与这些实体相关的迁移。当DbContextModelSnapshot 被重新生成和覆盖时,它保持相同的映射,因为没有任何变化。
在未来可能会有一个功能来帮助解决这个问题,正如在这个问题中所看到的 - 虽然没有承诺,而且不是第一个版本。 https://github.com/aspnet/EntityFramework/issues/2725
【讨论】:
您可以从迁移文件中手动删除创建或更改。
【讨论】: