我正在尝试通过
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”模型的属性。