2

私は2つのテーブルを持っていました:

public class Work
{
    public int WorkId { get; set; }
    (...)
}

public class Check
{
    public int CheckId { get; set; }
    (...)
}

次に、それらの間のペイロードとの多対多の関係を追加したかったので、次のようにします。

public class WorkCheck
{
    [Key, Column(Order = 0)]
    [ForeignKey("Work")]
    public int WorkId { get; set; }
    public virtual Work Work { get; set; }

    [Key, Column(Order = 1)]
    [ForeignKey("Check")]
    public int CheckId { get; set; }
    public virtual Check Check { get; set; }

    (...)
}

   public class Work
    {
        public int WorkId { get; set; }
        (...)
        public virtual IList<WorkCheck> WorkChecks { get; set; }
    }

    public class Check
    {
        public int CheckId { get; set; }
        (...)
        public virtual IList<WorkCheck> WorkChecks { get; set; }
    }

パッケージ マネージャー コンソールで、「Add-Migration WorkCheckTableAdded」コマンドを実行しましたが、エラーは表示されませんでした。

しかし、「Update-Database -verbose」コマンドを実行した直後に、次の例外が発生 しました。拘束。前のエラーを参照してください。

4

1 に答える 1

1

この問題は、新しいプロジェクトでは発生しません。私のプロジェクトで失敗した移行スクリプトが関係している可能性があります。移行をリセットするために、VS プロジェクトとターゲット データベースの Migrations フォルダーを削除しました。

于 2012-10-17T15:38:47.660 に答える