Share via


How to: Create LINQ to SQL Classes Mapped to Tables and Views (O/R Designer)

 

公開日: 2016年4月

データベース テーブルおよびビューにマップされた LINQ to SQL クラスは、エンティティ クラスと呼ばれます。エンティティ クラスはレコードにマップされますが、エンティティ クラスの個々のプロパティは、レコードを構成する個々の列にマップされます。データベース テーブルまたはビューに基づくエンティティ クラスを作成するには、サーバー エクスプローラーまたはデータベース エクスプローラーから、テーブルまたはビューをObject Relational Designer (O/R Designer) にドラッグします。O/R デザイナーは、クラスを生成し、特定の LINQ to SQL 属性を適用して、LINQ to SQL 機能 (DataContext のデータ通信編集および編集機能) を有効にします。LINQ to SQL クラスの詳細については、「The LINQ to SQL Object Model」を参照してください。

注意

O/R デザイナーは、1:1 のマッピング関係のみをサポートする単純なオブジェクト リレーショナル マッパーです。つまり、エンティティ クラスには、データベース テーブルまたはビューとの 1:1 のマッピング関係しか持たせることができません。1 つのエンティティ クラスを複数のテーブルにマップするなど、複雑なマッピングはサポートされていません。ただし、複数の関連テーブルを結合するビューにエンティティ クラスをマップすることはできます。

データベース テーブルまたはビューにマップされる LINQ to SQL クラスの作成

サーバー エクスプローラーまたはデータベース エクスプローラーからテーブルまたはビューを O/R デザイナーにドラッグすると、更新の実行に使用される DataContext の各メソッドと、エンティティ クラスが作成されます。

既定では、LINQ to SQL ランタイムによって、更新可能なエンティティ クラスの変更をデータベースに保存するロジックが作成されます。このロジックは、テーブルのスキーマ (列定義と主キー情報) に基づいています。この動作が不要な場合は、既定の LINQ to SQL ランタイムの動作の代わりに、ストアド プロシージャを使用して挿入、更新、および削除を実行するようにエンティティ クラスを構成できます。詳細については、「How to: Assign Stored Procedures to Perform Updates, Inserts, and Deletes (O/R Designer)」を参照してください。

注意

次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「IDE をカスタマイズする」をご覧ください。

データベース テーブルまたはビューにマップされる LINQ to SQL クラスを作成するには

  1. サーバー エクスプローラーまたはデータベース エクスプローラーで、[テーブル] または [ビュー] を展開し、アプリケーションで使用するデータベース テーブルまたはビューを探します。

  2. テーブルまたはビューを O/R デザイナーにドラッグします。

    エンティティ クラスが作成され、デザイン サーフェイスに表示されます。このエンティティ クラスには、選択されたテーブルまたはビューの列にマップされるプロパティが含まれています。

オブジェクト データ ソースの作成とフォームへのデータの表示

O/R デザイナーを使用してエンティティ クラスを作成したら、オブジェクト データ ソースを作成し、エンティティ クラスを ウィンドウに読み込むことができます。

LINQ to SQL エンティティ クラスに基づいてオブジェクト データ ソースを作成するには

  1. [ビルド] メニューの [ソリューションのビルド] をクリックしてプロジェクトをビルドします。

  2. [データ] メニューの [データ ソースの表示] をクリックします。

  3. [データ ソース] ウィンドウで、[新しいデータ ソースの追加] をクリックします。

  4. [データソースの種類を選択] ページで、[オブジェクト] をクリックし、[次へ] をクリックします。

  5. ノードを展開し、クラスを探して選択します。

    注意

    Customer クラスが使用可能でない場合は、ウィザードをキャンセルし、プロジェクトをビルドしてからウィザードを再実行します。

  6. [完了] をクリックしてデータ ソースを作成し、Customer エンティティ クラスを [データ ソース] ウィンドウに追加します。

  7. [データ ソース] ウィンドウからフォームに項目をドラッグします。

参照

Object Relational Designer (O/R Designer)
Walkthrough: Creating LINQ to SQL Classes (O/R Designer)
DataContext Methods (O/R Designer)
How to: Create DataContext Methods Mapped to Stored Procedures and Functions (O/R Designer)
The LINQ to SQL Object Model
How to: Add Validation to Entity Classes
Walkthrough: Customizing the Insert, Update, and Delete Behavior of Entity Classes
Walkthrough: Adding Validation to Entity Classes
How to: Create an Association (Relationship) Between LINQ to SQL Classes (O/R Designer)