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 と矛盾します。これを手動で変更することもできますが、残念ながらそれはうまくいかないはずです。

これは通常の動作ですか、それともバグですか? 私には1つのように見えます。

//編集: ああ、その前に何をしたかを説明するために: dbo.PodioUsers テーブルを参照する別のプロパティを "Bestellliste" モデルに追加しました。したがって、「Bestellliste」には「PodioUser」モデルを参照する 2 つのプロパティがあります。

4

1 に答える 1

0

これは私にも起こります。[Required]以前は属性がなかったフィールドに属性を追加すると発生するようです。

私が使用する問題を回避するにはupdate-database -force -script、SQL を編集して DB に対して実行します。私の場合、それは MSSQL であり、そのために Management Studio を使用しています。

于 2013-03-07T14:25:27.593 に答える