엔티티프레임워크를 사용하여 관계형 테이블에서 참조하는 데이터를 포함하여 데이터를 불러오는 방법을 보겠습니다.
구현하기
애플리케이션 생성
.NET web-API 생성하기
개발도구 설치하기 .NET을 이용하여 웹애플리케이션을 만들기 위해서는 .NET에서 제공하는 개발도구가 필요합니다. 개발도구 다운로드는 아래 링크에서 가능합니다. .NET | Free. Cross-platform. Open Sour
jin-co.tistory.com
데이터베이스 관계추가하기
데이터베이스 관계 추가하기
엔티티프레임워크를 사용하여 테이블간에 관계를 추가 해 보겠습니다. 애플리케이션 생성 먼저 .NET 애플리케이션을 생성합니다. 생성하기 .NET web-API 생성하기 개발도구 설치하기 .NET을 이용하
jin-co.tistory.com
해당 보기에서는 아래처럼 엔티티 세 개를 생성하였습니다.
▶ 테스트용 데이터 파일
레포지토리 패턴 구성하기
서버 아키텍처 - 레포지토리 (인터페이스 사용)
인터페이스는 필요한 사항을 규정하는 일종의 계약서로 레포지토리 패턴에 인터페이스를 추가해 보겠습니다. 프로젝트 구성하기 프로젝트 생성 및 기본구조 구성 서버 아키텍처 - 프로젝트 분
jin-co.tistory.com
인터페이스에 메서드 추가하기
인터페이스에 아래와 같이 각 엔티티의 목록을 가져오는 메서드를 추가합니다
인터페이스 구현
레포티토리로 이동하여 추가된 메서드를 구현
컨트롤러에 메서드 추가
추가되는 엔드포인트의 경로는 아래처럼 괄호 안에 지정합니다
[HttpGet("targets")]
컨트롤러로 이동하여 설정한 메서드를 설치합니다
실행
작업이 완료되면 API 폴더로 이동하여
cd /API
아래 명령어로 앱을 실행합니다.
dotnet watch
스웨거를 사용하는 경우 아래처럼 바로 추가된 엔트포인트 확인이 가능합니다.
각 엔트포인트를 열고 실행하면 반환되는 정보확인이 가능합니다.
주 엔티티에 포함된 보조 엔티티 값 불러오기
주 엔티티에서 참조하는 정보들이 널값으로 뜨는데 해당 데이터를 포함하려면 주 엔티티에서 데이터를 요청할 때 포함된 참조되는 엔티티도 추가해 주어야 합니다.
데이터를 요청하는 메서드가 구현된 레포지토리로 이동하여 엔티티 프레임워크 네임스페이스를 레포지토리 폴더에 추가하고
using Microsoft.EntityFrameworkCore;
참조하는 개체가 포함된 메서드에 인클루드 구문을 추가하면
public List<Item> GetItems()
{
return _context.Items
.Include(i => i.ItemTarget)
.Include(i => i.ItemType)
.ToList();
}
널값이 아니라 저장된 데이터가 반환됩니다.
이상으로 관계형 데이터베이스에서 참조한 데이터를 포함하여 가져오는 방법을 보았습니다.
'백엔드 > 닷넷' 카테고리의 다른 글
관계형 데이터 불러오기 - 비동기 방식 (2) | 2023.04.16 |
---|---|
관계형 데이터 불러오기 (참조 데이터 포함) - 지네릭 레포지토리 패턴 (1) | 2023.04.15 |
서버 아키텍처 - 지네릭 레포지토리 (0) | 2023.04.09 |
서버 아키텍처 - 레포지토리 (인터페이스 사용) (0) | 2023.04.07 |
서버 아키텍처 - 레포지토리 (0) | 2023.03.29 |