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[]
Массив параметров для передачи команде.
Возвращаемое значение
Перечисление объектов типа 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[]
Массив параметров для передачи команде.
Возвращаемое значение
Перечисление объектов типа TResult
.
Комментарии
Метод ExecuteStoreQuery использует существующее подключение для выполнения произвольной команды непосредственно в источнике данных. Команда store выполняется в контексте текущей транзакции, если она существует.
Вызов метода ExecuteStoreQuery эквивалентен вызову метода ExecuteReader класса DbCommand, с тем отличием, что ExecuteStoreQuery возвращает сущности, а ExecuteReader возвращает значения свойств в DbDataReader.
Укажите имя набора сущностей, если вы хотите, чтобы результаты отслеживались как сущности.
Вызовите Translate метод для преобразования DbDataReader в объекты сущности, когда средство чтения содержит строки данных, сопоставленные с указанным типом сущности.
Использование параметризованных команд помогает защищаться от атак путем внедрения кода SQL, в которых атакующий «внедряет» в инструкцию SQL команду, нарушающую безопасность сервера. Параметризованные команды обеспечивают защиту от атак путем внедрения кода SQL, гарантируя, что значения, полученные из внешнего источника, передаются только как значения, а не как часть инструкции SQL. В результате команды SQL, вставленные в значение, не выполняются в источнике данных. Вместо этого они обрабатываются исключительно как значения параметров. Помимо преимуществ безопасности параметризованные команды предоставляют удобный метод для упорядочения значений, передаваемых с помощью инструкции SQL или в хранимую процедуру.
Значение parameters
может быть массивом объектов DbParameter или массивом значений параметров. Если предоставляются только значения, массив DbParameter объектов создается на основе порядка значений в массиве.
Дополнительные сведения см. в разделе:
Непосредственное выполнение команд хранилища и
Практическое руководство. Прямое выполнение команд относительно источника данных