0

外部キー制約に違反せずに 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; }
}
4

1 に答える 1