私のモデルの関連付けは(私が信じているように)1対1です:
public class Account
{
[Key]
[ForeignKey("BlockedAccount")]
public virtual Guid AccountId { get; set; }
public virtual string UserName { get; set; }
public virtual BlockedAccount BlockedAccount { get; set; }
}
public class BlockedAccount
{
[Key]
public virtual Guid BlockedAccountId { get; set; }
public virtual int BanLevel { get; set; }
public virtual DateTime BannedDate { get; set; }
public virtual DateTime ExpirationDate { get; set; }
public virtual string Reason { get; set; }
}
しかし、それを使おうとすると、プログラムがクラッシュし、次の例外が発生します。
INSERTステートメントがFOREIGNKEY制約「FK_dbo.Accounts_dbo.BlockedAccounts_AccountId」と競合しました。データベース「Accounts」、テーブル「dbo.BlockedAccounts」、列「BlockedAccountId」で競合が発生しました。ステートメントは終了されました。
私はここで何が間違っているのですか?AccountId
を指さしたいBlockedAccountId
。