私は次のモデルを持っています:
public class Job
{
[Key]
public int JobID { get; set; }
public string Status { get; set; }
public DateTime JobDate { get; set; }
public string JobTitle { get; set; }
public int? Cleaner { get; set; }
public int? Client { get; set; }
public int EstTime { get; set; }
public virtual Client ClientInfo { get; set; }
public virtual Valeter ValeterInfo { get; set; }
}
OnModelCreatingのこれ:
// Relationship Job -> Valeter
modelBuilder.Entity<Job>()
.HasOptional<Valeter>(u => u.ValeterInfo)
.WithMany()
.HasForeignKey(e => e.Cleaner);
(注:既存のデータベースを使用しています)。次のことを実行しようとすると:
if (ModelState.IsValid)
{
db.Entry(job).State = EntityState.Modified;
db.SaveChanges();
}
Cleanerの値を別の値に変更してエラーが発生しない限り、通常は正常に機能します。
参照整合性制約違反が発生しました:参照制約を定義するプロパティ値が、関係のプリンシパルオブジェクトと依存オブジェクトの間で一貫していません。