ObjectContext.ExecuteStoreQuery Methode

Definitie

Overloads

Name Description
ExecuteStoreQuery<TElement>(String, Object[])

Voert een query rechtstreeks uit op de gegevensbron die een reeks getypte resultaten retourneert.

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

Voert een query rechtstreeks uit op de gegevensbron en retourneert een reeks getypte resultaten. Geef de entiteitsset en de samenvoegoptie op, zodat queryresultaten kunnen worden bijgehouden als entiteiten.

ExecuteStoreQuery<TElement>(String, Object[])

Voert een query rechtstreeks uit op de gegevensbron die een reeks getypte resultaten retourneert.

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)

Type parameters

TElement

Het type geretourneerde gegevens.

Parameters

commandText
String

De opdracht die moet worden uitgevoerd, in de systeemeigen taal van de gegevensbron.

parameters
Object[]

Een matrix met parameters die moeten worden doorgegeven aan de opdracht.

Retouren

ObjectResult<TElement>

Een opsomming van objecten van het type TElement.

Opmerkingen

De ExecuteStoreQuery methode maakt gebruik van de bestaande verbinding om een willekeurige opdracht rechtstreeks op de gegevensbron uit te voeren. De store-opdracht wordt uitgevoerd in de context van de huidige transactie, als er een dergelijke transactie bestaat.

Het aanroepen van de ExecuteStoreQuery methode is gelijk aan het aanroepen van de ExecuteReader methode van de DbCommand klasse, retourneert alleen ExecuteStoreQuery entiteiten en de ExecuteReader geretourneerde eigenschapswaarden in de DbDataReader.

Roep de ExecuteStoreQuery naam van de opgegeven entiteitsset aan als u wilt dat de resultaten worden bijgehouden.

Roep de Translate methode aan om een DbDataReader om te zetten in entiteitsobjecten wanneer de lezer gegevensrijen bevat die zijn toegewezen aan het opgegeven entiteitstype.

Met behulp van geparameteriseerde opdrachten kunt u bescherming bieden tegen SQL-injectieaanvallen, waarbij een aanvaller een opdracht in een SQL-instructie injecteert die de beveiliging op de server in gevaar brengt. Geparameteriseerde opdrachten beschermen tegen een SQL-injectieaanval door ervoor te zorgen dat waarden die zijn ontvangen van een externe bron alleen worden doorgegeven als waarden en niet als onderdeel van de SQL-instructie. Als gevolg hiervan worden SQL-opdrachten die in een waarde zijn ingevoegd, niet uitgevoerd in de gegevensbron. In plaats daarvan worden ze alleen geëvalueerd als een parameterwaarde. Naast de beveiligingsvoordelen bieden geparameteriseerde opdrachten een handige methode voor het ordenen van waarden die zijn doorgegeven met een SQL-instructie of aan een opgeslagen procedure.

De parameters waarde kan een matrix van DbParameter objecten of een matrix met parameterwaarden zijn. Als er alleen waarden worden opgegeven, wordt er een matrix met DbParameter objecten gemaakt op basis van de volgorde van de waarden in de matrix.

Voor meer informatie, zie:

Rechtstreeks store-opdrachten uitvoeren en

Procedure: Opdrachten rechtstreeks uitvoeren op basis van de gegevensbron

Van toepassing op

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

Voert een query rechtstreeks uit op de gegevensbron en retourneert een reeks getypte resultaten. Geef de entiteitsset en de samenvoegoptie op, zodat queryresultaten kunnen worden bijgehouden als entiteiten.

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)

Type parameters

TEntity

Het entiteitstype van de geretourneerde gegevens.

Parameters

commandText
String

De opdracht die moet worden uitgevoerd, in de systeemeigen taal van de gegevensbron.

entitySetName
String

De entiteitsset van het TEntity type. Als er geen naam voor een entiteitsset wordt opgegeven, worden de resultaten niet bijgehouden.

mergeOption
MergeOption

De MergeOption te gebruiken bij het uitvoeren van de query. De standaardwaarde is AppendOnly.

parameters
Object[]

Een matrix met parameters die moeten worden doorgegeven aan de opdracht.

Retouren

ObjectResult<TEntity>

Een opsomming van objecten van het type TResult.

Opmerkingen

De ExecuteStoreQuery methode maakt gebruik van de bestaande verbinding om een willekeurige opdracht rechtstreeks op de gegevensbron uit te voeren. De store-opdracht wordt uitgevoerd in de context van de huidige transactie, als er een dergelijke transactie bestaat.

Het aanroepen van de ExecuteStoreQuery methode is gelijk aan het aanroepen van de ExecuteReader methode van de DbCommand klasse, retourneert alleen ExecuteStoreQuery entiteiten en de ExecuteReader geretourneerde eigenschapswaarden in de DbDataReader.

Geef de naam van de entiteitsset op als u wilt dat de resultaten als entiteiten worden bijgehouden.

Aanroepmethode Translate om een DbDataReader om te zetten in entiteitsobjecten wanneer de lezer gegevensrijen bevat die zijn toegewezen aan het opgegeven entiteitstype.

Met behulp van geparameteriseerde opdrachten kunt u bescherming bieden tegen SQL-injectieaanvallen, waarbij een aanvaller een opdracht in een SQL-instructie injecteert die de beveiliging op de server in gevaar brengt. Geparameteriseerde opdrachten beschermen tegen een SQL-injectieaanval door ervoor te zorgen dat waarden die zijn ontvangen van een externe bron alleen worden doorgegeven als waarden en niet als onderdeel van de SQL-instructie. Als gevolg hiervan worden SQL-opdrachten die in een waarde zijn ingevoegd, niet uitgevoerd in de gegevensbron. In plaats daarvan worden ze alleen geëvalueerd als een parameterwaarde. Naast de beveiligingsvoordelen bieden geparameteriseerde opdrachten een handige methode voor het ordenen van waarden die zijn doorgegeven met een SQL-instructie of aan een opgeslagen procedure.

De parameters waarde kan een matrix van DbParameter objecten of een matrix met parameterwaarden zijn. Als er alleen waarden worden opgegeven, wordt er een matrix met DbParameter objecten gemaakt op basis van de volgorde van de waarden in de matrix.

Voor meer informatie, zie:

Rechtstreeks store-opdrachten uitvoeren en

Procedure: Opdrachten rechtstreeks uitvoeren op basis van de gegevensbron

Van toepassing op