ejyoo's 개발 노트

[EF Core] 쿼리 실행 본문

BackEnd/.Net Core

[EF Core] 쿼리 실행

ejyoovV 2023. 8. 30. 10:24

EF Core 쿼리를 작성한 뒤 클라이언트로 객체를 뿌렸는데,

객체 안에 데이터가 없어서 왜 없는지 알기 위해 EF Core 쿼리에 대해 조사를 하여 정리하려고 한다.

 


먼저 EF Core 쿼리를 실행하려면 아래의 절차가 존재해야 한다.

1) 쿼리생성

2) 쿼리실행

 

내가 지금 문제되었던 것은 쿼리를 생성만 하고 실행을 하지 않아서 발생한 것이였다.

 

예를 살펴보자.

var resultData = context.A;
context.B;

위의 코드의 경우 resultData는 A 테이블의 모든 데이터를 포함하는 쿼리를 나타낸다.

하지만 이 쿼리는 실행되지 않는다.

쿼리의 결과로 실제 데이터를 가져오려면 ToList(), ToArray(), Single(), First() 등의 메서드를 사용해야 한다.

 

var resultData = context.A.ToList();

위의 코드처럼 사용하게 되면 호출로 인해 'A'의 모든 엔터티가 메모리에 로드된다.

 

 

결과적으로 클라이언트에 데이터를 보내기 위해서는

쿼리를 생성하고 알맞은 메서드를 사용하여 메모리에 등록한 뒤 클라이언트에 보내주어야 한다.