我已经有一个数据库(在__MigrationHistory表中有迁移历史记录)和项目,从零开始创建。我使用了“Code First from Database”选项,并生成了所有类。现在我想创建一个表,我创建了一个类:
[Table("Companies")]
public partial class Company
{
[Key]
public int ID { get; set; }
public string Name { get; set; }
}
然后我为我的上下文启用了迁移(项目中有2个上下文,使用了2个DB):
启用 - 迁移 - 项目基础结构--ContextTypeName Infrastructure.Asset.AssetContext
它创建了“Migrations”文件夹和Configuration.cs文件。
接下来,我尝试添加迁移:
添加迁移-Name Company -ProjectName Infrastructure
它创建了迁移,但是对于已存在的表,使用Create(Drop)。
为什么呢?我想只创造差异。
答案 0 :(得分:1)
您是否可以访问原始上下文和迁移?您应该继续在现有项目之上构建迁移。如果你不这样做,那么你应该创建一个新的Code First上下文,对现有数据库进行反向工程,然后重新启用从头开始的迁移。
答案 1 :(得分:0)
在创建迁移后的包管理器控制台中,只需运行命令
更新的数据库
这应反映在迁移中所做的任何更改