이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 55374|회답: 2

[출처] EF 코어 시리즈 4는 생성된 SQL 문들을 살펴봅니다

[링크 복사]
게시됨 2021. 2. 19. 오후 1:36:34 | | | |
EF Core Series 2는 OnModelCreating을 캡슐화하고, 반사를 이용한 인덱스 생성 등 다양한 기능을 제공합니다
https://www.itsvse.com/thread-9392-1-1.html

EF 코어 시리즈 (3) 엔터티 프레임 섀도우 속성 [재인쇄]
https://www.itsvse.com/thread-9558-1-1.html


개발 과정에서 ef core 프레임워크를 사용할 때, linq 또는 lambda 표현식을 사용할 때 SQL 문장을 직접 볼 수 없어 문제 해결이나 성능 최적화가 불편합니다.
ef는 생성된 SQL 문장을 표시합니다
https://www.itsvse.com/thread-3813-1-1.html

이 글에서는 EF Core 5를 예로 들어 사용합니다출력 EF가 생성하는 SQL 문들을 보기 위해


먼저, 시작 파일에 "ConsoleLoggerFactory" 변수를 넣은 새로운 콘솔로거 팩토리 변수를 생성하세요. 생성된 SQL 문이 콘솔에 출력됩니다. 코드는 다음과 같습니다:

DbContext 코드를 다음과 같이 구성하여 ConfigureServices 메서드에 로그 출력을 추가하세요:

프로젝트를 시작하면 콘솔 출력이 다음과 같이 나타납니다:

info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      실행 중인 DbCommand (1ms) [매개변수=[], CommandType='Text', CommandTimeout='30']
      [a]를 선택하세요. [Id], [a]. [장애인], [a]. [링크], [a]. [이름], [a]. [핀음], [a]. [입장], [a]. [_CreateTime], [a]. [_CreateTimeStamp], [a]. [_UpdateTime], [a]. [_UpdateTimeStamp]
      [지역] 아마 [a]
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      실행된 DbCommand (19ms) [매개변수=[p0='?' (크기 = 4000)], CommandType='Text', CommandTimeout='30']
      핀인 = @p0 영역에서 선택 *
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      실행 중인 DbCommand (1ms) [매개변수=[], CommandType='Text', CommandTimeout='30']
      선택 * 지역에서


만약 where 조건이 있는 SQL 문이 매개변수화된 변수만 볼 수 있고 전달된 특정 값은 볼 수 없다면, 다음과 같은 구성이 추가됩니다:

예외 메시지, 로그 등에 애플리케이션 데이터를 포함할 수 있도록 합니다.

여기에는 엔터티 인스턴스 속성에 할당된 값이 포함될 수 있습니다.

데이터베이스에 전송된 명령의 매개변수 값 및 기타 데이터입니다.

이 깃발은 안전 조치가 마련되어 있을 때만 활성화되어야 합니다

이 데이터의 민감도를 기준으로 합니다.

신청이 진행 중인지 참고하세요

Microsoft.EntityFrameworkCore.DbContextOptions 생성기를 호출합니다. UseInternalServiceProvider(system. IServiceProvider),

이 옵션은 해당 서비스 제공자의 모든 사용에 대해 동일한 방식으로 설정되어야 합니다.

Consider not calling Microsoft.EntityFrameworkCore.DbContextOptionsGenerator.UseInternalServiceProvider(system. IServiceProvider)

따라서 EF는 서비스 제공자를 관리하며 필요에 따라 새로운 인스턴스를 생성할 수 있습니다


전체 구성은 다음과 같습니다:

렌더링은 다음과 같습니다:



물론, 위 설정들은 DbContext의 OnConfiguring 메서드를 덮어쓰는 방법으로도 설정할 수 있습니다(권장하지 않음):

(끝)




이전의:Financial TipRanks 주식 분석 등급
다음:EF 코어 시리즈(5)는 SQL 문이나 뷰, 저장 프로시저를 실행합니다
 집주인| 게시됨 2021. 9. 26. 오전 9:21:07 |
ef는 생성된 SQL 문장을 표시합니다
https://www.itsvse.com/thread-3813-1-1.html
게시됨 2021. 10. 26. 오전 9:46:19 |
공부해서 시간 제한이 어떤지 확인해 보세요
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com