728x90
반응형
- 개요
Data Transfer Object, 줄여서 DTO는 데이터 운반을 위한 클래스 오브젝트입니다.
따라서 Entity 클래스처럼 데이터 테이블을 의미하는 것이 아닌, 전달하기 위한 데이터만을 표현합니다.
이전에 작성한 Select 로딩에서 변수를 생성하지 않고,
DTO를 사용하는 Extension 메서드를 호출함으로써 로딩이 이뤄질 수 있도록 구현해보겠습니다.
1) DataModel 클래스

GuildDto라는 이름의 DTO 클래스를 생성하였습니다.
이전에 Select 로딩에서 사용하던 정보들을 프로퍼티로 들고 있도록 하였습니다.
2) Extension 클래스

Extension 메서드를 사용하기 위해 static 클래스를 추가하고 MapGuildToDto 함수를 추가하였습니다.
MapGuildToDto 함수는 Extension 메서드로 클래스의 구조를 변경하지 않고도 호출할 수 있습니다.
인자로 this + 확장할 타입을 설정하여 넣어주었습니다.
이때 인자로 사용한 IQueryable은 LINQ를 사용하기 위한 인터페이스입니다.
따라서 Guild 클래스에 대해 LINQ를 사용하여 C#을 통해 데이터에 접근할 수 있습니다.
3) Select 로딩

기존의 변수를 생성하던 로직을 위와 같이 수정하였습니다.
- 최종 실행 결과

728x90
반응형
'대형 프로젝트 - C# + 유니티로 만드는 MMORPG 게임 개발 > (5) EF Core' 카테고리의 다른 글
| Update 기초 (0) | 2025.08.11 |
|---|---|
| Entity 상태 관리 (0) | 2025.08.11 |
| 데이터 로딩 (0) | 2025.08.05 |
| Relationship 기초 (0) | 2025.08.04 |
| CRUD (0) | 2025.08.04 |