Sdílet prostřednictvím


ObjectContext.ExecuteStoreQuery Metoda

Definice

Přetížení

ExecuteStoreQuery<TElement>(String, Object[])

Spustí dotaz přímo na zdroj dat, který vrátí sekvenci zadaných výsledků.

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

Spustí dotaz přímo na zdroj dat a vrátí sekvenci zadaných výsledků. Zadejte sadu entit a možnost sloučení, aby bylo možné výsledky dotazu sledovat jako entity.

ExecuteStoreQuery<TElement>(String, Object[])

Spustí dotaz přímo na zdroj dat, který vrátí sekvenci zadaných výsledků.

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 vrácených dat.

Parametry

commandText
String

Příkaz, který se má spustit, v nativním jazyce zdroje dat.

parameters
Object[]

Pole parametrů, které se mají předat do příkazu.

Návraty

ObjectResult<TElement>

Výčet objektů typu TElement.

Poznámky

Metoda ExecuteStoreQuery používá existující připojení ke spuštění libovolného příkazu přímo proti zdroji dat. Příkaz store je spuštěn v kontextu aktuální transakce, pokud taková transakce existuje.

ExecuteStoreQuery Volání metody je ekvivalentní volání ExecuteReader metody DbCommand třídy , vrací pouze ExecuteStoreQuery entity a ExecuteReader vrací hodnoty vlastností v DbDataReader.

ExecuteStoreQuery Pokud chcete, aby se výsledky sledovaly, zavolejte metodu s názvem zadané sady entit.

Translate Voláním metody přeložíte DbDataReader objekt na objekty entity, pokud čtenář obsahuje řádky dat mapované na zadaný typ entity.

Použití parametrizovaných příkazů pomáhá chránit před útoky prostřednictvím injektáže SQL, při kterých útočník "vloží" příkaz do příkazu SQL, který ohrožuje zabezpečení serveru. Parametrizované příkazy chrání před útokem prostřednictvím injektáže SQL tím, že zaručují, že hodnoty přijaté z externího zdroje se předávají pouze jako hodnoty a nejsou součástí příkazu SQL. V důsledku toho se příkazy SQL vložené do hodnoty nespustí ve zdroji dat. Místo toho se vyhodnocují pouze jako hodnota parametru. Kromě výhod zabezpečení poskytují parametrizované příkazy pohodlnou metodu pro uspořádání hodnot předaných pomocí příkazu SQL nebo uložené procedury.

Hodnota parameters může být pole DbParameter objektů nebo pole hodnot parametrů. Pokud jsou zadány pouze hodnoty, vytvoří se pole DbParameter objektů na základě pořadí hodnot v poli.

Další informace naleznete v tématu:

Přímé spouštění příkazů úložiště a

Postupy: Přímé spouštění příkazů proti zdroji dat

Platí pro

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

Spustí dotaz přímo na zdroj dat a vrátí sekvenci zadaných výsledků. Zadejte sadu entit a možnost sloučení, aby bylo možné výsledky dotazu sledovat jako entity.

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 entity vrácených dat.

Parametry

commandText
String

Příkaz, který se má spustit, v nativním jazyce zdroje dat.

entitySetName
String

Sada TEntity entit typu. Pokud není zadaný název sady entit, výsledky se nebudou sledovat.

mergeOption
MergeOption

Parametr , MergeOption který se použije při provádění dotazu. Výchozí formát je AppendOnly.

parameters
Object[]

Pole parametrů, které se mají předat do příkazu.

Návraty

ObjectResult<TEntity>

Výčet objektů typu TResult.

Poznámky

Metoda ExecuteStoreQuery používá existující připojení ke spuštění libovolného příkazu přímo proti zdroji dat. Příkaz store je spuštěn v kontextu aktuální transakce, pokud taková transakce existuje.

ExecuteStoreQuery Volání metody je ekvivalentní volání ExecuteReader metody DbCommand třídy , vrací pouze ExecuteStoreQuery entity a ExecuteReader vrací hodnoty vlastností v DbDataReader.

Pokud chcete, aby se výsledky sledovaly jako entity, zadejte název sady entit.

Voláním Translate metody přeložíte DbDataReader objekt na objekty entity, pokud čtenář obsahuje řádky dat mapované na zadaný typ entity.

Použití parametrizovaných příkazů pomáhá chránit před útoky prostřednictvím injektáže SQL, při kterých útočník "vloží" příkaz do příkazu SQL, který ohrožuje zabezpečení serveru. Parametrizované příkazy chrání před útokem prostřednictvím injektáže SQL tím, že zaručují, že hodnoty přijaté z externího zdroje se předávají pouze jako hodnoty a nejsou součástí příkazu SQL. V důsledku toho se příkazy SQL vložené do hodnoty nespustí ve zdroji dat. Místo toho se vyhodnocují pouze jako hodnota parametru. Kromě výhod zabezpečení poskytují parametrizované příkazy pohodlnou metodu pro uspořádání hodnot předaných pomocí příkazu SQL nebo uložené procedury.

Hodnota parameters může být pole DbParameter objektů nebo pole hodnot parametrů. Pokud jsou zadány pouze hodnoty, vytvoří se pole DbParameter objektů na základě pořadí hodnot v poli.

Další informace naleznete v tématu:

Přímé spouštění příkazů úložiště a

Postupy: Přímé spouštění příkazů proti zdroji dat

Platí pro