ASP.NET MVC。如何修复"参数@objname是不明确的......"错误。何时添加迁移?

时间:2016-08-24 17:42:36

标签: c# asp.net asp.net-mvc entity-framework ef-code-first

我将不再使用的Fluent API添加到我的上下文中。

protected override void OnModelCreating(DbModelBuilder modelBuilder){
    modelBuilder.Entity<MainClass>().HasOptional(a => a.simpleItems).WithOptionalDependent().WillCascadeOnDelete(true);       
}

add-migration导致了以下的迁移:

public override void Up()
{
    DropForeignKey("dbo.SimpleItems", "MainClass_id", "dbo.MainClasses");
    DropIndex("dbo.SimpleItems", new[] { "MainClass_id" });
    RenameColumn(table: "dbo.MainClasses", name: "MainClass_id", newName: "simpleItems_id");
    CreateIndex("dbo.MainClasses", "simpleItems_id");
    AddForeignKey("dbo.MainClasses", "simpleItems_id", "dbo.SimpleItems", "id", cascadeDelete: true);
    DropColumn("dbo.SimpleItems", "MainClass_id");
}

但我无法执行迁移。当我输入update-database -verbose时,我得到了一个错误的错误:

  

参数@objname不明确或声称@objtype(COLUMN)错误。

我该如何解决?

P.S。使用详细信息我可以看到执行更新数据库时发生错误会创建以下行:

EXECUTE sp_rename @objname = N'dbo.MainClasses.MainClass_id', @newname = N'simpleItems_id', @objtype = N'COLUMN'

P.S。如果我从头开始删除所有迁移并启用新迁移,则会成功更新数据库。上面的迁移特别存在这个问题。

0 个答案:

没有答案