DbSet.SqlQuery(String, Object[]) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 집합에 엔터티를 반환할 원시 SQL 쿼리를 만듭니다. 기본적으로 반환되는 엔터티는 컨텍스트에 의해 추적됩니다. 반환된 에서 AsNoTracking을 호출하여 DbRawSqlQuery 변경할 수 있습니다. 반환되는 엔터티는 항상 이 집합에 대한 형식이며 파생 형식이 없습니다. 쿼리된 테이블에 다른 엔터티 형식의 데이터가 포함될 수 있는 경우 SQL 쿼리는 올바른 형식의 엔터티만 반환되도록 적절하게 작성되어야 합니다.
SQL을 허용하는 모든 API와 마찬가지로 SQL 삽입 공격으로부터 보호하기 위해 사용자 입력을 매개 변수화하는 것이 중요합니다. SQL 쿼리 문자열에 매개 변수 자리 표시자를 포함하고 매개 변수 값을 추가 인수로 제공할 수 있습니다. 사용자가 제공하는 모든 매개 변수 값은 자동으로 DbParameter로 변환됩니다. 컨텍스트. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. 게시물 WHERE Author = @p0", userSuppliedAuthor); 또는 DbParameter를 생성하고 SqlQuery에 제공할 수도 있습니다. 그러면 SQL 쿼리 문자열에 명명된 매개 변수를 사용할 수 있습니다. 컨텍스트. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. 게시물 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
public virtual System.Data.Entity.Infrastructure.DbSqlQuery SqlQuery (string sql, params object[] parameters);
abstract member SqlQuery : string * obj[] -> System.Data.Entity.Infrastructure.DbSqlQuery
override this.SqlQuery : string * obj[] -> System.Data.Entity.Infrastructure.DbSqlQuery
Public Overridable Function SqlQuery (sql As String, ParamArray parameters As Object()) As DbSqlQuery
매개 변수
- sql
- String
SQL 쿼리 문자열입니다.
- parameters
- Object[]
SQL 쿼리 문자열에 적용할 매개 변수입니다. 출력 매개 변수를 사용하는 경우 결과를 완전히 읽을 때까지 해당 값을 사용할 수 없습니다. 이는 DbDataReader의 기본 동작 때문입니다. 자세한 내용은 를 참조하세요 http://go.microsoft.com/fwlink/?LinkID=398589 .
반환
DbSqlQuery 열거될 때 쿼리를 실행할 개체입니다.
적용 대상
Entity Framework