728x90
Pricipal 데이터가 없을 때 Dpendent 데이터가 존재할 수 있는가?
✅ Nullable 유무에 따라 다르다.
1️⃣ OwnerId가 Nullable로 설정되지 않았을 때 OwnerId 하나를 삭제하면,
public class Item
{
public int ItemId { get; set; }
public int TemplateId { get; set; }
public DateTime CreateDate { get; set; }
public int OwnerId { get; set; }
public Player Owner { get; set; }
}
Test를 통해 PlayerId가 1인 Owner 정보를 삭제하자 Owner 뿐만 아니라 Item 정보도 모두 사라졌다.
2️⃣ OwnerId가 Nullable로 설정되었을 때 OwnerId 하나를 삭제하면,
public class Item
{
public int ItemId { get; set; }
public int TemplateId { get; set; }
public DateTime CreateDate { get; set; }
public int? OwnerId { get; set; }
public Player Owner { get; set; }
}
내가 삭제한 OwnerId만 사라지고 아이템에 대한 정보는 그대로 남아있다.
참고로 ForeigneKey로 FK를 설정한 경우 Nullable이 기본 설정이다.
728x90
'공부 > EFCore' 카테고리의 다른 글
[EFCore] 데이터를 임시로 삭제해보자 : Soft Delete (HasQueryFilter/IgnoreQueryFilter) (0) | 2022.09.06 |
---|---|
[EFCore] Relationship Data 수정 하기 (0) | 2022.09.06 |
[EFCore] Disconnected Update (Reload / Full Update) (0) | 2022.09.05 |
[EFCore] DTO 활용하기 (0) | 2022.09.05 |
[EFCore] DB에 존재하는 데이터 수정하기 (0) | 2022.09.05 |