RelationalDatabaseFacadeExtensions.SqlQuery<TResult> 메서드

정의

원시 SQL 쿼리를 기반으로 LINQ 쿼리를 만듭니다. 이 쿼리는 데이터베이스 공급자가 기본적으로 지원하는 스칼라 형식의 결과 집합을 반환합니다.

public static System.Linq.IQueryable<TResult> SqlQuery<TResult> (this Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade databaseFacade, FormattableString sql);
static member SqlQuery : Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade * FormattableString -> System.Linq.IQueryable<'Result>
<Extension()>
Public Function SqlQuery(Of TResult) (databaseFacade As DatabaseFacade, sql As FormattableString) As IQueryable(Of TResult)

형식 매개 변수

TResult

매개 변수

databaseFacade
DatabaseFacade

DatabaseFacade 컨텍스트에 대한 입니다.

sql
FormattableString

매개 변수가 있는 SQL 쿼리를 나타내는 보간된 문자열입니다.

반환

IQueryable<TResult>

IQueryable<T> 보간된 문자열 SQL 쿼리를 나타내는 입니다.

설명

데이터베이스 공급자가 기본적으로 지원하지 않는 반환 형식으로 이 메서드를 사용하려면 메서드를 DefaultTypeMapping<TScalar>(Action<TypeMappingConfigurationBuilder<TScalar>>) 사용합니다.

반환 IQueryable<T> 된 은 LINQ를 사용하여 더 복잡한 쿼리를 빌드하는 방법을 통해 구성할 수 있습니다.

이 메서드는 트랜잭션을 시작하지 않습니다. 트랜잭션에서 이 메서드를 사용하려면 먼저 또는 를 호출 BeginTransaction(DatabaseFacade, IsolationLevel) 합니다 UseTransaction.

SQL을 허용하는 모든 API와 마찬가지로 SQL 삽입 공격으로부터 보호하기 위해 사용자 입력을 매개 변수화하는 것이 중요합니다. SQL 쿼리 문자열에 매개 변수 자리 표시자를 포함하고 매개 변수 값을 추가 인수로 제공할 수 있습니다. 제공하는 모든 매개 변수 값은 자동으로 DbParameter로 변환됩니다.

자세한 내용 과 예제는 EF Core를 사용하여 원시 SQL 명령 실행을 참조하세요.

적용 대상