Поделиться через


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 использует существующее подключение для выполнения произвольной команды непосредственно в источнике данных. Команда store выполняется в контексте текущей транзакции, если она существует.

Вызов метода ExecuteStoreQuery эквивалентен вызову метода ExecuteReader класса DbCommand, с тем отличием, что 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 использует существующее подключение для выполнения произвольной команды непосредственно в источнике данных. Команда store выполняется в контексте текущей транзакции, если она существует.

Вызов метода ExecuteStoreQuery эквивалентен вызову метода ExecuteReader класса DbCommand, с тем отличием, что ExecuteStoreQuery возвращает сущности, а ExecuteReader возвращает значения свойств в DbDataReader.

Укажите имя набора сущностей, если вы хотите, чтобы результаты отслеживались как сущности.

Вызовите Translate метод для преобразования DbDataReader в объекты сущности, когда средство чтения содержит строки данных, сопоставленные с указанным типом сущности.

Использование параметризованных команд помогает защищаться от атак путем внедрения кода SQL, в которых атакующий «внедряет» в инструкцию SQL команду, нарушающую безопасность сервера. Параметризованные команды обеспечивают защиту от атак путем внедрения кода SQL, гарантируя, что значения, полученные из внешнего источника, передаются только как значения, а не как часть инструкции SQL. В результате команды SQL, вставленные в значение, не выполняются в источнике данных. Вместо этого они обрабатываются исключительно как значения параметров. Помимо преимуществ безопасности параметризованные команды предоставляют удобный метод для упорядочения значений, передаваемых с помощью инструкции SQL или в хранимую процедуру.

Значение parameters может быть массивом объектов DbParameter или массивом значений параметров. Если предоставляются только значения, массив DbParameter объектов создается на основе порядка значений в массиве.

Дополнительные сведения см. в разделе:

Непосредственное выполнение команд хранилища и

Практическое руководство. Прямое выполнение команд относительно источника данных

Применяется к