Trong Code-First:
Bàn tìm từ khóa OnDelete trong ApplicationContextModelSnapshot mục Migration.
.OnDelete(DeleteBehavior.Cascade)
Nếu Table chứa mã trên thì đã bao gồm Cascade Delete khi xóa model cha, mặc định sẽ xóa luôn các thư mục con có liên quan.
Có 2 cách khai báo Casecade Delete
- Sử dụng API:
using (var context = new MyContext()) { protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<Invoice>() .HasOne(i => i.Customer) .WithMany(c => c.Invoices) .IsRequired() .OnDelete(DeleteBehavior.Cascade); } }
- Khai báo trong Model phải có keyword [ForeignKey("ParentID")] cho quan hệ 1 nhiều.
Chúc các bạn thành công.
https://entityframeworkcore.com/saving-data-cascade-delete