12/09/2024
📚 Entity Framework Core Tip: Global Filter cho Trường IsDeleted 🔍
Chào các bạn, hôm nay mình sẽ chia sẻ một mẹo hay ho về Entity Framework Core giúp bạn quản lý dữ liệu đã bị xóa một cách dễ dàng hơn! 🚀
✨ Bài toán: Bạn có một số thực thể trong cơ sở dữ liệu có trường IsDeleted để đánh dấu các bản ghi đã bị xóa. Làm thế nào để áp dụng một bộ lọc toàn cầu để tự động loại bỏ các bản ghi đã xóa khỏi các truy vấn mà không cần phải thêm điều kiện IsDeleted vào mỗi truy vấn?
🎯 Giải pháp: Chúng ta có thể sử dụng Global Query Filter trong Entity Framework Core để tự động thêm điều kiện vào tất cả các truy vấn.
Dưới đây là cách thực hiện:
1. Kiểm tra Trường IsDeleted: Đầu tiên, bạn cần kiểm tra xem thực thể có chứa trường IsDeleted không.
2. Tạo Bộ Lọc Toàn Cầu: Sử dụng Expression để tạo bộ lọc với điều kiện IsDeleted == false hoặc null, vì null cũng được coi là chưa xóa.
3. Áp Dụng Bộ Lọc: Cuối cùng, áp dụng bộ lọc cho tất cả các thực thể có trường IsDeleted.
💡 Lợi ích:
1. Tiết kiệm thời gian: Không cần phải thêm điều kiện IsDeleted vào từng truy vấn.
2. Dễ bảo trì: Tất cả điều kiện xóa đã được quản lý một nơi.
Thử ngay và chia sẻ cảm nhận của bạn nhé! 🌟
Cảm ơn bạn đã đọc! 📖