Tạo Cascade Delete trong Entity Framework Core

Tạo Cascade Delete trong Entity Framework Core

Tạo Cascade Delete trong Entity Framework Core

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

Nguyễn Minh Tuấn

Nguyễn Minh Tuấn

Bài viết liên quan

Trả lời tới Tạo Cascade Delete trong Entity Framework Core

Đăng nhập

Cảm ơn bạn đã phản hồi!