- 개요
Entity간의 관계에서 1 : 1 관계와 1 : 多 관계인 경우 어떻게 Update가 이뤄지는지 알아보겠습니다.
- 사전 작업
1) DataModel 클래스

Player 클래스에서 참조하는 외래키 프로퍼티인 Guild를 Nullable하도록 수정하였습니다.
2) DBCommand 클래스

ShowGuild 함수를 추가하여 Guild에 저장된 데이터를 출력할 수 있도록 합니다.
1) 1 : 1 관계에서의 업데이트 : Item과 Player
1 - 1) 기존의 데이터를 수정하여 업데이트

Update1v1 함수를 사용하여 1 : 1 관계의 데이터 테이블을 업데이트할 수 있습니다.
이때 기존의 데이터를 수정하는 방식으로 업데이트를 진행합니다.


위와 같이 지정한 데이터만 수정된 것을 확인할 수 있습니다.
1 - 2) 새로운 객체를 생성하여 업데이트

Update1v1 함수를 사용하여 1 : 1 관계의 데이터 테이블을 업데이트하되,
이번에는 새로운 객체를 생성하여 수정하는 방식으로 업데이트를 진행합니다.


위와 같이 수정한 기존의 데이터가 제거되어 null로 변경된 것을 확인할 수 있습니다.
2) 1 : 多 관계에서의 업데이트 - Guild와 Player
2 - 1) 기존의 데이터를 수정하여 업데이트

Update1vM 함수를 사용하여 1 : 多 관계의 데이터 테이블을 업데이트할 수 있습니다.
이때 기존의 데이터를 수정하는 방식으로 업데이트를 진행합니다.


위와 같이 새로운 데이터가 추가된 것을 확인할 수 있습니다.
2 - 2) 새로운 객체를 생성하여 업데이트

Update1vM 함수를 사용하여 1 : 多 관계의 데이터 테이블을 업데이트하되,
이번에는 새로운 객체를 생성하여 데이터를 수정하는 방식으로 업데이트를 진행합니다.


위와 같이 기존의 데이터들이 전부 제거되어 null로 설정된 것을 확인할 수 있습니다.
- 최종 정리
따라서 업데이트를 진행하는 경우 새로운 객체를 생성하기 보다, 기존의 데이터를 수정하는 방식이 권장됩니다.
'대형 프로젝트 - C# + 유니티로 만드는 MMORPG 게임 개발 > (5) EF Core' 카테고리의 다른 글
| Configuration (0) | 2025.08.18 |
|---|---|
| Delete (0) | 2025.08.12 |
| 외래키와 Nullable (0) | 2025.08.11 |
| Connected와 Disconnected (0) | 2025.08.11 |
| Update 기초 (0) | 2025.08.11 |