次の方法で共有


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 、既存の接続を使用して、データ ソースに対して任意のコマンドを直接実行します。 現在トランザクションを実行している場合は、そのトランザクションのコンテキストで格納コマンドが実行されます。

ExecuteStoreQuery メソッドの呼び出しは、ExecuteReader クラスの DbCommand メソッドを呼び出すことと同じです。ExecuteStoreQuery のみがエンティティを返し、ExecuteReaderDbDataReader のプロパティ値を返します。

結果を ExecuteStoreQuery 追跡する場合は、指定したエンティティ セット名で を呼び出します。

リーダーに Translate 、指定したエンティティ型にマップされるデータ行が含まれている場合に、 メソッドを呼び出して、 をエンティティ オブジェクトに変換 DbDataReader します。

パラメーター化コマンドは SQL インジェクション攻撃への対策として利用できます。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 、既存の接続を使用して、データ ソースに対して任意のコマンドを直接実行します。 現在トランザクションを実行している場合は、そのトランザクションのコンテキストで格納コマンドが実行されます。

ExecuteStoreQuery メソッドの呼び出しは、ExecuteReader クラスの DbCommand メソッドを呼び出すことと同じです。ExecuteStoreQuery のみがエンティティを返し、ExecuteReaderDbDataReader のプロパティ値を返します。

結果をエンティティとして追跡する場合は、エンティティ セット名を指定します。

リーダーに、指定したエンティティ型にマップされるデータ行が含まれている場合に、 をエンティティ オブジェクトに変換DbDataReaderするメソッドを呼び出Translateします。

パラメーター化コマンドは SQL インジェクション攻撃への対策として利用できます。SQL インジェクション攻撃は、SQL ステートメントに、サーバーのセキュリティを侵害するコマンドを "注入" することによって行われます。 パラメーター化されたコマンドは、外部ソースから受け取った値が SQL ステートメントの一部ではなく、値としてのみ渡されることを保証することで、SQL インジェクション攻撃から保護します。 その結果、値に挿入された SQL コマンドはデータ ソースでは実行されません。 これらはパラメーター値としてのみ処理されます。 パラメーター化されたコマンドは、セキュリティ上の利点に加えて、SQL ステートメントまたはストアド プロシージャで渡される値を整理するための便利な方法を提供します。

parameters の値には、DbParameter オブジェクトの配列か、パラメーター値の配列を使用できます。 値のみを指定すると、配列内の値の DbParameter 順序に基づいてオブジェクトの配列が作成されます。

詳細については、次を参照してください。

ストア コマンドを直接実行する

方法: データ ソースに対してコマンドを直接実行する

適用対象