データベースの移行を作成しようとしています
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 と矛盾します。これを手動で変更することもできますが、残念ながらそれはうまくいかないはずです。
これは通常の動作ですか、それともバグですか? 私には1つのように見えます。
//編集: ああ、その前に何をしたかを説明するために: dbo.PodioUsers テーブルを参照する別の列プロパティを "Bestellliste" モデルに追加しました。したがって、「Bestellliste」には「PodioUser」モデルを参照する 2 つのプロパティがあります。