DataContext メソッド (O/R デザイナー)

(Visual Studio の LINQ to SQL ツールのコンテキストでの) DataContext メソッドは、データベース内のストアド プロシージャおよび関数を実行する DataContext クラスのメソッドです。

DataContext クラスは、SQL Server データベースと、そのデータベースにマップされる LINQ to SQL エンティティ クラスの間のパイプ役として機能する LINQ to SQL クラスです。 DataContext クラスには、接続文字列の情報と、データベースへの接続およびデータベース内のデータの操作を行うメソッドが含まれています。 既定では、DataContext クラスには、更新されたデータを LINQ to SQL クラスからデータベースに送信する SubmitChanges メソッドなど、呼び出すことのできるいくつかのメソッドがあります。 また、ストアド プロシージャおよび関数にマップされる追加の DataContext メソッドを作成することもできます。 つまり、これらのカスタム メソッドを呼び出すと、DataContext メソッドのマップ先であるデータベース内のストアド プロシージャまたは関数が実行されます。 メソッドを追加して任意のクラスを拡張するのと同じように、DataContext クラスに新しいメソッドを追加できます。 ただし、O/R デザイナーのコンテキストでの DataContext メソッドの説明では、ストアド プロシージャおよび関数にマップされた DataContext メソッドが説明の対象となります。

メソッド ペイン

ストアド プロシージャおよび関数にマップされた DataContext メソッドは、O/R デザイナーメソッド ペインに表示されます。 [メソッド] ペインは、[エンティティ] ペイン (メインのデザイン サーフェイス) の横に表示されているペインです。 メソッド ペインには、O/R デザイナーを使用して作成したすべての DataContext メソッドが一覧表示されます。 既定では、メソッド ペインは空です。DataContext メソッドを作成し、メソッド ペインに表示するには、サーバー エクスプローラーまたはデータベース エクスプローラーから O/R デザイナーに、ストアド プロシージャまたは関数をドラッグします。 詳細については、「方法: ストアド プロシージャや関数にマップされる DataContext メソッドを作成する (O/R デザイナー)」を参照してください。

Note

メソッド ペインを開いたり閉じたりするには、O/R デザイナーを右クリックし、[メソッド ペインの非表示] または [メソッド ペインの表示] をクリックするか、キーボード ショートカットの Ctrl+1 キーを使用します。

2 種類の DataContext メソッド

DataContext メソッドは、データベース内のストアド プロシージャおよび関数にマップされるメソッドです。 DataContext メソッドは、O/R デザイナーメソッド ペインで作成および追加できます。 DataContext メソッドには、1 つ以上の結果セットを返すものと結果セットを返さないものの 2 種類があります。

DataContext メソッドの戻り値の型

サーバー エクスプローラーまたはデータベース エクスプローラーから O/R デザイナーにストアド プロシージャまたは関数をドラッグする場合、生成される DataContext メソッドの戻り値の型は、項目をドロップする場所によって異なります。 既存のエンティティ クラスに項目を直接ドロップすると、そのエンティティ クラスの戻り値の型を使用する DataContext メソッドが作成されます。O/R デザイナーの空の領域 (任意のペイン) に項目をドロップすると、自動的に生成された型を返す DataContext メソッドが作成されます。 自動的に生成された型には、ストアド プロシージャまたは関数の名前と一致する名前が付けられ、ストアド プロシージャまたは関数によって返される各フィールドにマップされるプロパティが含まれます。

Note

DataContext メソッドをメソッド ペインに追加した後に、その戻り値の型を変更できます。 DataContext メソッドの戻り値の型を確認または変更するには、[プロパティ] ウィンドウでメソッドを選択し、[戻り値の型] プロパティを調べます。 詳細については、「方法: DataContext メソッドの戻り値の型を変更する (O/R デザイナー)」を参照してください。

データベースから O/R デザイナー画面にドラッグしたオブジェクトには、データベース内のオブジェクトの名前に基づいて自動的に名前が付けられます。 同じオブジェクトを複数回ドラッグすると、新しい名前の末尾に名前を区別する番号が付けられます。 データベース オブジェクト名にスペースや Visual Basic または C# でサポートされない文字が含まれている場合、そのスペースまたは無効な文字はアンダースコアに置き換えられます。