ObjectContext.ExecuteStoreQuery Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
ExecuteStoreQuery<TElement>(String, Object[]) |
Wykonuje zapytanie bezpośrednio względem źródła danych, które zwraca sekwencję wpisanych wyników. |
ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[]) |
Wykonuje zapytanie bezpośrednio względem źródła danych i zwraca sekwencję wpisanych wyników. Określ zestaw jednostek i opcję scalania, aby wyniki zapytania mogły być śledzone jako jednostki. |
ExecuteStoreQuery<TElement>(String, Object[])
Wykonuje zapytanie bezpośrednio względem źródła danych, które zwraca sekwencję wpisanych wyników.
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)
Parametry typu
- TElement
Typ zwracanych danych.
Parametry
- commandText
- String
Polecenie do wykonania w języku natywnym źródła danych.
- parameters
- Object[]
Tablica parametrów do przekazania do polecenia.
Zwraca
Wyliczenie obiektów typu TElement
.
Uwagi
Metoda ExecuteStoreQuery używa istniejącego połączenia, aby wykonać dowolne polecenie bezpośrednio względem źródła danych. Polecenie store jest wykonywane w kontekście bieżącej transakcji, jeśli taka transakcja istnieje.
ExecuteStoreQuery Wywoływanie metody jest równoważne wywołaniu ExecuteReader metody DbCommand klasy , zwraca tylko ExecuteStoreQuery jednostki i ExecuteReader zwraca wartości właściwości w obiekcie DbDataReader.
Wywołaj element ExecuteStoreQuery z określoną nazwą zestawu jednostek, jeśli chcesz śledzić wyniki.
Wywołaj metodę Translate , aby przetłumaczyć DbDataReader obiekt na obiekty jednostki, gdy czytnik zawiera wiersze danych mapowane na określony typ jednostki.
Użycie sparametryzowanych poleceń pomaga chronić przed atakami polegającymi na wstrzyknięciu kodu SQL, w których osoba atakująca "wprowadza" polecenie w instrukcję SQL, która narusza zabezpieczenia na serwerze. Polecenia sparametryzowane chronią przed atakiem polegającym na wstrzyknięciu kodu SQL, gwarantując, że wartości odebrane ze źródła zewnętrznego są przekazywane tylko jako wartości, a nie część instrukcji SQL. W związku z tym polecenia SQL wstawione do wartości nie są wykonywane w źródle danych. Zamiast tego są one oceniane tylko jako wartość parametru. Oprócz korzyści zabezpieczeń sparametryzowane polecenia zapewniają wygodną metodę organizowania wartości przekazywanych za pomocą instrukcji SQL lub procedury składowanej.
Wartość parameters
może być tablicą DbParameter obiektów lub tablicą wartości parametrów. Jeśli podano tylko wartości, tablica DbParameter obiektów jest tworzona na podstawie kolejności wartości w tablicy.
Aby uzyskać więcej informacji, zobacz:
Bezpośrednie wykonywanie poleceń magazynu i
Instrukcje: bezpośrednie wykonywanie poleceń względem źródła danych
Dotyczy
ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])
Wykonuje zapytanie bezpośrednio względem źródła danych i zwraca sekwencję wpisanych wyników. Określ zestaw jednostek i opcję scalania, aby wyniki zapytania mogły być śledzone jako jednostki.
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)
Parametry typu
- TEntity
Typ jednostki zwracanych danych.
Parametry
- commandText
- String
Polecenie do wykonania w języku natywnym źródła danych.
- entitySetName
- String
Zestaw TEntity
jednostek typu. Jeśli nie podano nazwy zestawu jednostek, wyniki nie będą śledzone.
- mergeOption
- MergeOption
Element MergeOption do użycia podczas wykonywania zapytania. Wartość domyślna to AppendOnly.
- parameters
- Object[]
Tablica parametrów do przekazania do polecenia.
Zwraca
Wyliczenie obiektów typu TResult
.
Uwagi
Metoda ExecuteStoreQuery używa istniejącego połączenia, aby wykonać dowolne polecenie bezpośrednio względem źródła danych. Polecenie store jest wykonywane w kontekście bieżącej transakcji, jeśli taka transakcja istnieje.
ExecuteStoreQuery Wywoływanie metody jest równoważne wywołaniu ExecuteReader metody DbCommand klasy , zwraca tylko ExecuteStoreQuery jednostki i ExecuteReader zwraca wartości właściwości w obiekcie DbDataReader.
Określ nazwę zestawu jednostek, jeśli chcesz śledzić wyniki jako jednostki.
Wywołaj Translate metodę , aby przetłumaczyć DbDataReader obiekt na obiekty jednostki, gdy czytnik zawiera wiersze danych mapowane na określony typ jednostki.
Użycie sparametryzowanych poleceń pomaga chronić przed atakami polegającymi na wstrzyknięciu kodu SQL, w których osoba atakująca "wprowadza" polecenie w instrukcję SQL, która narusza zabezpieczenia na serwerze. Polecenia sparametryzowane chronią przed atakiem polegającym na wstrzyknięciu kodu SQL, gwarantując, że wartości odebrane ze źródła zewnętrznego są przekazywane tylko jako wartości, a nie część instrukcji SQL. W związku z tym polecenia SQL wstawione do wartości nie są wykonywane w źródle danych. Zamiast tego są one oceniane tylko jako wartość parametru. Oprócz korzyści zabezpieczeń sparametryzowane polecenia zapewniają wygodną metodę organizowania wartości przekazywanych za pomocą instrukcji SQL lub procedury składowanej.
Wartość parameters
może być tablicą DbParameter obiektów lub tablicą wartości parametrów. Jeśli podano tylko wartości, tablica DbParameter obiektów jest tworzona na podstawie kolejności wartości w tablicy.
Aby uzyskać więcej informacji, zobacz:
Bezpośrednie wykonywanie poleceń magazynu i
Instrukcje: bezpośrednie wykonywanie poleceń względem źródła danych