인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part8: Entity Framework Core

Relationship Update

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

해결된 질문

작성

·

292

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

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

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기