EF7 从添加迁移操作中排除 Class/DbSet

EF7 Exclude Class/DbSet From Add Migration Operation

(版本 7.0.0-beta5)

有没有办法将 class 或 DbSet 排除在 migration add 命令评估之外?

我正在构建的数据库将包含一些从另一个环境复制的表。它们需要包含在 DbContext 中,以便可以查询和加入它们,但绝不应该为它们生成迁移。

这种情况下的最佳做法是什么?

您可以从迁移文件中手动删除创建或更改。

从 beta6 开始,最适合我的是确保 DbContextModelSnapshot 包含复制实体的映射。

映射实体后,迁移脚手架过程会将模型快照与实体进行比较以确定是否有更改。由于实体 类 与模型快照匹配,因此不会生成与这些实体相关的迁移。当 DbContextModelSnapshot 重新生成并覆盖时,它保持相同的映射,因为没有任何变化。

而且在未来可能会有一个功能来帮助解决这个问题,正如本期中所见 - 虽然没有承诺,但不是第一次发布。 https://github.com/aspnet/EntityFramework/issues/2725