• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    해결됨

17:33 Guild Update1vM시 질문입니다.

22.06.24 15:55 작성 조회수 195

0

Guild guild = db.Guilds

.Include(g => g.Members)

.Single(g => g.GuildID = id);

//....

guild.Members = new List<Player>(){ new Player() { Name = "Rookiss"} };

위의 명령을 그대로 실행시켰는데 갑자기 DELETE관련 에러가 발생해서 보니 Player를 생성은 하는데 기존 Player테이블의 모든 데이터도 삭제가 되는 것 같습니다.

에러가 발생한 것은 모든 Player의 데이터를 삭제하려니 Item이 FK로 참조하고 있기 때문에 .ThenInclude(p => p.Item)또한 포함시켜야하는 것이었구요.

실제로 ThenInclude를 추가해서 실행해보니 에러 없이 잘 작동되고, Player테이블을 확인해보니 모든 Player가 삭제되었습니다.

이게 EFCore가 업데이트 되면서 정책이 바뀐건지, 아니면 제가 어디서 실수를 한건지 모르겠습니다.

 

답변 1

답변을 작성해보세요.

0

Insomnia님의 프로필

Insomnia

2022.06.24

다시보니 DataModel.Player에서 Guild가 Nullable이 아니었네요... 문제 해결됐습니다!