我刚刚为我的模型添加了3个新类/表,包含主键和外键约束。当我运行Add-Migration时,它返回一个带有空白Up()和Down()方法的迁移。
Add-Migration 'Added Table1 Table2 Table3'
public partial class AddedTable1Table2Table3 : DbMigration
{
public override void Up()
{
}
public override void Down()
{
}
}
我已经在我的解决方案中清理并重建了所有必要的项目。
我还仔细检查了配置,以确保连接字符串正确。
答案 0 :(得分:1)
事实证明我错过了对DataContext中新表的引用。解决方案是将三个新表添加到DataContext。迁移按预期工作。
public DbSet<Table1> Table1Collection { get; set; }
public DbSet<Table2> Table2Collection { get; set; }
public DbSet<Table3> Table3Collection { get; set; }
答案 1 :(得分:0)
首先,我假设您使用的是Sql Server数据库。 由实体框架“dbo._MigrationHistory”创建的Sql Server数据库上有一个表。此表包括迁移操作以及迁移类。
在Package Manager控制台上创建和执行迁移时,Visual Studio不仅会检查您的模型更改,还会检查数据库中的此文件。您的模型和dbo._MigrationHistory文件之间可能存在某些同步问题。在这种情况下,实体框架不会像上面提到的那样创建正确的迁移文件。您可以尝试从dbo._MigrationFile中删除最后一条记录来解决问题。 祝你好运