为啥 Code First 的 Add-migration 命令包含所有数据库,而不是我对实体所做的特定更改?
Posted
技术标签:
【中文标题】为啥 Code First 的 Add-migration 命令包含所有数据库,而不是我对实体所做的特定更改?【英文标题】:Why the Add-migration command of Code First is including all the database instead of a specific change that I made to an entity?为什么 Code First 的 Add-migration 命令包含所有数据库,而不是我对实体所做的特定更改? 【发布时间】:2021-09-03 06:26:50 【问题描述】:我有课
public class Types
public int ID get; set;
public string name get; set;
首先使用代码,我使用 add-migration 和 update-database 创建了相同结构的表。
但是当我向它添加另一个属性时。
public string SystemName get; set;
然后迁移,然后脚本将整个数据库包含在 up() 函数中,即使我删除了所有以前的迁移文件,也使用 CREATE。
为什么?
【问题讨论】:
【参考方案1】:您是否删除了所有旧的迁移文件?你不应该这样做。通过迁移文件实体框架了解它需要创建数据库的哪一部分。
【讨论】:
不应该永远不会影响它,已经这样做了很多次并且从未影响我的系统。 然后检查数据库中的迁移表。以上是关于为啥 Code First 的 Add-migration 命令包含所有数据库,而不是我对实体所做的特定更改?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Code First 的 Add-migration 命令包含所有数据库,而不是我对实体所做的特定更改?
EF Code-First 学习之旅 Code First Conventions