ObjectContext.ExecuteStoreQuery 메서드

정의

오버로드

ExecuteStoreQuery<TElement>(String, Object[])

형식화된 결과의 시퀀스를 반환하는 쿼리를 데이터 소스에 대해 직접 실행합니다.

ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])

쿼리를 데이터 소스에 대해 직접 실행하고 형식화된 결과의 시퀀스를 반환합니다. 쿼리 결과를 엔터티로 추적할 수 있도록 엔터티 집합과 병합 옵션을 지정합니다.

ExecuteStoreQuery<TElement>(String, Object[])

형식화된 결과의 시퀀스를 반환하는 쿼리를 데이터 소스에 대해 직접 실행합니다.

public:
generic <typename TElement>
 System::Data::Objects::ObjectResult<TElement> ^ ExecuteStoreQuery(System::String ^ commandText, ... cli::array <System::Object ^> ^ parameters);
public System.Data.Objects.ObjectResult<TElement> ExecuteStoreQuery<TElement> (string commandText, params object[] parameters);
member this.ExecuteStoreQuery : string * obj[] -> System.Data.Objects.ObjectResult<'Element>
Public Function ExecuteStoreQuery(Of TElement) (commandText As String, ParamArray parameters As Object()) As ObjectResult(Of TElement)

형식 매개 변수

TElement

반환되는 데이터의 형식입니다.

매개 변수

commandText
String

데이터 소스의 네이티브 언어로 실행할 명령입니다.

parameters
Object[]

명령에 전달할 매개 변수의 배열입니다.

반환

ObjectResult<TElement>

TElement 형식의 개체 열거형입니다.

설명

메서드는 ExecuteStoreQuery 기존 연결을 사용하여 데이터 원본에 대해 임의 명령을 직접 실행합니다. 이러한 트랜잭션이 있는 경우 저장소 명령은 현재 트랜잭션의 컨텍스트에서 실행됩니다.

메서드를 ExecuteStoreQuery 호출하는 것은 클래스의 메서드를 ExecuteReaderDbCommand 호출하는 것과 동일하며 엔터티만 ExecuteStoreQuery 반환하고 ExecuteReader 에서 DbDataReader속성 값을 반환합니다.

ExecuteStoreQuery 결과를 추적하려면 지정된 엔터티 집합 이름을 사용하여 를 호출합니다.

Translate 판독기에 지정된 엔터티 형식에 매핑되는 DbDataReader 데이터 행이 포함된 경우 메서드를 호출하여 를 엔터티 개체로 변환합니다.

매개 변수화된 명령을 사용하면 공격자가 SQL 문에 명령을 “삽입”하여 서버의 보안을 손상시키는 SQL 삽입 공격을 막을 수 있습니다. 매개 변수가 있는 명령은 외부 원본에서 받은 값이 SQL 문의 일부가 아닌 값으로만 전달되도록 보장하여 SQL 삽입 공격을 보호합니다. 따라서 값에 삽입된 SQL 명령은 데이터 원본에서 실행되지 않습니다. 대신 매개 변수 값으로만 평가됩니다. 매개 변수가 있는 명령은 보안 이점 외에도 SQL 문 또는 저장 프로시저로 전달된 값을 구성하는 편리한 방법을 제공합니다.

값은 parameters 개체의 DbParameter 배열 또는 매개 변수 값의 배열일 수 있습니다. 값만 제공되면 배열의 DbParameter 값 순서에 따라 개체 배열이 만들어집니다.

자세한 내용은 다음을 참조하세요.

직접 실행 저장소 명령 및

방법: 데이터 원본에 대해 명령 직접 실행

적용 대상

ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])

쿼리를 데이터 소스에 대해 직접 실행하고 형식화된 결과의 시퀀스를 반환합니다. 쿼리 결과를 엔터티로 추적할 수 있도록 엔터티 집합과 병합 옵션을 지정합니다.

public:
generic <typename TEntity>
 System::Data::Objects::ObjectResult<TEntity> ^ ExecuteStoreQuery(System::String ^ commandText, System::String ^ entitySetName, System::Data::Objects::MergeOption mergeOption, ... cli::array <System::Object ^> ^ parameters);
public System.Data.Objects.ObjectResult<TEntity> ExecuteStoreQuery<TEntity> (string commandText, string entitySetName, System.Data.Objects.MergeOption mergeOption, params object[] parameters);
member this.ExecuteStoreQuery : string * string * System.Data.Objects.MergeOption * obj[] -> System.Data.Objects.ObjectResult<'Entity>
Public Function ExecuteStoreQuery(Of TEntity) (commandText As String, entitySetName As String, mergeOption As MergeOption, ParamArray parameters As Object()) As ObjectResult(Of TEntity)

형식 매개 변수

TEntity

반환되는 데이터의 엔터티 형식입니다.

매개 변수

commandText
String

데이터 소스의 네이티브 언어로 실행할 명령입니다.

entitySetName
String

TEntity 형식의 엔터티 집합입니다. 엔터티 집합 이름을 제공하지 않으면 결과가 추적되지 않습니다.

mergeOption
MergeOption

쿼리를 실행할 때 사용할 MergeOption입니다. 기본값은 AppendOnly입니다.

parameters
Object[]

명령에 전달할 매개 변수의 배열입니다.

반환

ObjectResult<TEntity>

TResult 형식의 개체 열거형입니다.

설명

메서드는 ExecuteStoreQuery 기존 연결을 사용하여 데이터 원본에 대해 임의 명령을 직접 실행합니다. 이러한 트랜잭션이 있는 경우 저장소 명령은 현재 트랜잭션의 컨텍스트에서 실행됩니다.

메서드를 ExecuteStoreQuery 호출하는 것은 클래스의 메서드를 ExecuteReaderDbCommand 호출하는 것과 동일하며 엔터티만 ExecuteStoreQuery 반환하고 ExecuteReader 에서 DbDataReader속성 값을 반환합니다.

결과를 엔터티로 추적하려면 엔터티 집합 이름을 지정합니다.

판독기에 지정된 엔터티 형식에 매핑되는 DbDataReader 데이터 행이 포함된 경우 메서드를 호출 Translate 하여 를 엔터티 개체로 변환합니다.

매개 변수화된 명령을 사용하면 공격자가 SQL 문에 명령을 “삽입”하여 서버의 보안을 손상시키는 SQL 삽입 공격을 막을 수 있습니다. 매개 변수가 있는 명령은 외부 원본에서 받은 값이 SQL 문의 일부가 아닌 값으로만 전달되도록 보장하여 SQL 삽입 공격을 보호합니다. 따라서 값에 삽입된 SQL 명령은 데이터 원본에서 실행되지 않습니다. 대신 매개 변수 값으로만 평가됩니다. 매개 변수가 있는 명령은 보안 이점 외에도 SQL 문 또는 저장 프로시저로 전달된 값을 구성하는 편리한 방법을 제공합니다.

값은 parameters 개체의 DbParameter 배열 또는 매개 변수 값의 배열일 수 있습니다. 값만 제공되면 배열의 DbParameter 값 순서에 따라 개체 배열이 만들어집니다.

자세한 내용은 다음을 참조하세요.

직접 실행 저장소 명령 및

방법: 데이터 원본에 대해 명령 직접 실행

적용 대상