0

我正在尝试通过

PM> Add-Migration
...
PM> Update-Database
...

但我得到的只是一条错误消息,告诉我引用了无效的列。当您查看包含以下 Up() 方法的生成迁移时,就会清楚:

    public override void Up()
    {
        RenameColumn(table: "dbo.Bestelllistes", name: "Ersteller_Id", newName: "PodioUser_Id");
        AddColumn("dbo.Bestelllistes", "ErstelltDatum", c => c.DateTime(nullable: false));
        AddColumn("dbo.Bestelllistes", "ZuletztModifiziertDatum", c => c.DateTime(nullable: false));
        AddColumn("dbo.Bestelllistes", "ZuletztModifiziertDurch_Id", c => c.Int());
        AddForeignKey("dbo.Bestelllistes", "Ersteller_Id", "dbo.PodioUsers", "Id");
        AddForeignKey("dbo.Bestelllistes", "ZuletztModifiziertDurch_Id", "dbo.PodioUsers", "Id");
        CreateIndex("dbo.Bestelllistes", "Ersteller_Id");
        CreateIndex("dbo.Bestelllistes", "ZuletztModifiziertDurch_Id");
    }

RenameColumn 与仍使用旧约束列名称的 AddForeignKey 相矛盾。我可以手动更改它,但恐怕这不是它应该工作的方式。

这是通常的行为还是错误?在我看来像一个。

//编辑:啊,只是为了解释我之前所做的:我将引用 dbo.PodioUsers 表的另一个列属性添加到“Bestellliste”模型。所以现在“Bestellliste”有两个引用“PodioUser”模型的属性。

4

1 回答 1

0

这也发生在我身上。[Required]当我将属性添加到以前没有它的字段时,似乎会发生这种情况。

要解决我使用的问题update-database -force -script,请编辑 SQL 并针对数据库运行它。就我而言,这是 MSSQL,我为此使用了 Management Studio。

于 2013-03-07T14:25:27.593 回答