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

보기: 41452|회답: 1

[출처] EF 코어 시리즈(5)는 SQL 문이나 뷰, 저장 프로시저를 실행합니다

[링크 복사]
게시됨 2021. 2. 19. 오후 2:00:14 | | | |
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 코어 시리즈 4는 생성된 SQL 문들을 살펴봅니다
https://www.itsvse.com/thread-9564-1-1.html
Entity Framework Core를 사용하면 관계형 데이터베이스를 사용할 때 원래 SQL 쿼리로 전환할 수 있습니다. 필요한 쿼리가 LINQ로 표현될 수 없을 때는 원시 SQL 쿼리를 사용할 수 있습니다. LINQ 쿼리를 사용하다 보면 비효율적인 SQL 쿼리를 사용할 수도 있습니다. 원시 SQL 쿼리는 모델 내에서 일반적인 엔티티 타입 또는 키리스 엔티티 타입을 반환할 수 있습니다.

요약: Entity Framework(EF)를 사용해 SQL 문과 저장 프로시저를 실행하기.

엔티티 프레임워크(EF)는 SQL 문과 저장 프로시저를 실행합니다
https://www.itsvse.com/thread-9517-1-1.html
SQL 문장 쿼리, 업데이트, 삭제를 수행하고, 저장 프로시저와 뷰를 호출하는 방법은 다음과 같습니다:

  • FromSqlRaw
  • FromSqlInterpolated(FromSqlInterpolated)
  • ExecuteSqlRaw
  • ExecuteSqlInterpolated



FromSqlRaw와 FromSqlInterpolated는 주로 쿼리 작업에 사용됩니다
ExecuteSqlRaw와 ExecuteSqlInterpolated는 데이터베이스에 추가, 업데이트, 삭제 작업을 수행하고, 영향을 받은 행 수를 반환합니다


끝부분은 보간된 키워드로, 보통 매개변수 추가, 삭제, 수정 및 검사를 포함하며, 문자열 보간 구문을 이용한 SQL 주입 공격에 저항하는 방법입니다. 예를 들어:

SQL 문장을 출력하면, 쿼리 조건은 아래 그림과 같이 스플라이싱을 거치지 않습니다:

C# 매개변수화된 매개변수는 SQL 문장을 실행하는 데 sp_executesql를 사용합니다
https://www.itsvse.com/thread-3111-1-1.html




네이티브 SQL 쿼리를 사용할 때 주의해야 할 몇 가지 제한사항이 있습니다:

SQL 쿼리는 엔티티 타입의 모든 속성에 대한 데이터를 반환해야 합니다.
결과 집합의 열 이름은 속성이 매핑되는 열명과 일치해야 합니다. 이 동작은 EF6와는 다르다는 점에 유의하세요. EF6에서는 원래 SQL 쿼리의 속성/열 매핑 관계가 무시되며, 결과 집합의 컬럼 이름이 속성 이름과 일치해야 합니다.
SQL 쿼리는 관련 데이터를 포함할 수 없습니다. 하지만 많은 경우, 쿼리 직후에 Include 메서드를 사용해 상관 데이터를 반환할 수 있습니다(연관 데이터 포함 참조).


(끝)




이전의:EF 코어 시리즈 4는 생성된 SQL 문들을 살펴봅니다
다음:Fiddler가 링크를 교체하고 리디렉션을 전달 요청합니다
 집주인| 게시됨 2023. 6. 14. 오후 9:15:53 |
EF 6는 네이티브 SQL 문과 매개변수 주입 문제를 실행합니다
https://www.itsvse.com/thread-10610-1-1.html
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com