[EFCore] 데이터를 임시로 삭제해보자 : Soft Delete (HasQueryFilter/IgnoreQueryFilter)
·
공부/EFCore
게임에서 아이템을 실수로 삭제하면 복구해주는 경우가 있다. 만약 우리가 아이템을 '삭제'한 게 정말 'Delete'를 의미했다면 복구가 불가능했을 것이다. 이럴 때 사용할 수 있는 게 바로 HasQueryFilter다. public class Item { public bool SoftDeleted { get; set; } //...// } Item 클래스에 SoftDeleted를 추가해준다. true가 임시 삭제를 의미하고, false가 기본값이다. protected override void OnModelCreating(ModelBuilder builder) { // 앞으로 Item Entity에 접근할 때 항상 사용되는 모델 레벨의 필터링 // 필터를 무시하고 싶으면 IgnoreQueryFilter사용..