Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Store
- mac
- LINQ
- EFCore
- ORM
- dbContext
- minimalAPI
- Request
- extjs
- Config
- .net
- ViewModel
- error
- JavaScript
- 에스가든스냅
- 상속
- intellij
- c#
- c#코딩의기술실전편
- 스냅잘찍음
- JSON
- 라도무스dvd
- React
- 명시적외래키
- extraParams
- 대전본식영상
- scanner
- vscode
- 코드프로그래머스
- lazy loading
Archives
- Today
- Total
ejyoo's 개발 노트
[EF Core] 쿼리 실행 본문
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'의 모든 엔터티가 메모리에 로드된다.
결과적으로 클라이언트에 데이터를 보내기 위해서는
쿼리를 생성하고 알맞은 메서드를 사용하여 메모리에 등록한 뒤 클라이언트에 보내주어야 한다.
'BackEnd > .Net Core' 카테고리의 다른 글
EF Core Context 로 조회 시, 객체에 자동으로 연계되어 조회되는 이유 (0) | 2023.08.25 |
---|---|
EF Core DbContext 의 로딩방식 (0) | 2023.08.23 |
닷넷코어의 인증과 인가 (0) | 2023.07.20 |
MinimalAPI에 대해서.. (0) | 2023.06.21 |
명시적 외래키 작성할 때 virtual 타입을 쓰는 이유 (0) | 2023.06.21 |