外部キー制約に違反せずに EF Code First (新しい DB) のオブジェクトを削除するのに問題があります。
Job、Ticket、Notes の 3 つのクラスがあります。ジョブには 0,1 個のチケットと多くのメモがあります。ジョブ (および対応するチケット/メモ) を db.Job.Remove(job) で削除したいのですが、ジョブとチケットの間で FK 違反が発生します。クラスをどのように構造化/注釈付けすればよいですか?
前もって感謝します。
次のスニペットは、オブジェクト/関係を定義します:
public WorkflowEntities() : base("CodeFirstWorkflow") { }
public DbSet<Job> Job { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
base.OnModelCreating(modelBuilder);
// Should create a 1:0,1 between Job and Ticket with ticket being optional
modelBuilder.Entity<Ticket>()
.HasRequired(e => e.Job)
.WithOptional(e => e.Ticket);
}
}
public class Job {
public int JobId { get; set; }
public virtual Ticket Ticket { get; set; }
public virtual ICollection<Notes> Notes { get; set; }
}
public class Ticket {
public int TicketId { get; set; }
public int JobId { get; set; }
public virtual Job Job { get; set; }
}
public class Notes {
public int NotesId { get; set; }
public int JobId { get; set; }
public virtual Job Job { get; set; }
}