次の方法で共有


LINQ to SQL を使用するための一般的な手順

LINQ to SQL アプリケーションを実装するには、このトピックで後述する手順に従います。 多くの手順は省略可能であることに注意してください。 オブジェクト モデルを既定の状態で使用できる可能性は非常に高いです。

非常に速いスタートを切るために、オブジェクト リレーショナル デザイナーを使用してオブジェクト モデルを作成し、クエリのコーディングを開始します。

オブジェクト モデルの作成

最初の手順では、既存のリレーショナル データベースのメタデータからオブジェクト モデルを作成します。 オブジェクト モデルは、開発者のプログラミング言語に従ってデータベースを表します。 詳細については、「 LINQ to SQL オブジェクト モデル」を参照してください。

1. モデルを作成するツールを選択します。

モデルを作成するには、3 つのツールを使用できます。

  • オブジェクト リレーショナル デザイナー

    このデザイナーは、既存のデータベースからオブジェクト モデルを作成するための豊富なユーザー インターフェイスを提供します。 このツールは Visual Studio IDE の一部であり、小規模または中規模のデータベースに最適です。

  • SQLMetal コード生成ツール

    このコマンド ライン ユーティリティは、O/R デザイナーとは少し異なるオプション セットを提供します。 大規模なデータベースのモデリングは、このツールを使用して行うのが最適です。 詳細については、「 SqlMetal.exe (コード生成ツール)」を参照してください。

  • コード エディター

    Visual Studio コード エディターまたは別のエディターを使用して、独自のコードを記述できます。 既存のデータベースがあり、O/R デザイナーまたは SQLMetal ツールを使用できる場合は、エラーが発生しやすい可能性があるこの方法はお勧めしません。 ただし、コード エディターは、他のツールを使用して既に生成したコードを調整または変更する場合に便利です。 詳細については、「 方法: コード エディターを使用してエンティティ クラスをカスタマイズする」を参照してください

2. 生成するコードの種類を選択します。

  • 属性ベースのマッピング用の C# または Visual Basic のソース コード ファイル。

    次に、このコード ファイルを Visual Studio プロジェクトに含めます。 詳細については、「Attribute-Based マッピング」を参照してください。

  • 外部マッピング用の XML ファイル。

    この方法を使用すると、マッピング メタデータをアプリケーション コードから除外できます。 詳細については、「 外部マッピング」を参照してください。

    O/R デザイナーでは、外部マッピング ファイルの生成はサポートされていません。 この機能を実装するには、SQLMetal ツールを使用する必要があります。

  • DBML ファイル。最終的なコード ファイルを生成する前に変更できます。

    これは高度な機能です。

3. アプリケーションのニーズを反映するようにコード ファイルを調整します。

このためには、O/R デザイナーまたはコード エディターを使用できます。

オブジェクト モデルの使用

次の図は、開発者と 2 層シナリオのデータの関係を示しています。 その他のシナリオについては、「 LINQ to SQL を使用した N 層およびリモート アプリケーション」を参照してください。

Linq オブジェクト モデルを示すスクリーンショット。

オブジェクト モデルが作成されたので、情報要求を記述し、そのモデル内のデータを操作します。 データベースの行と列ではなく、オブジェクト モデルのオブジェクトとプロパティの観点から考えます。 データベースは直接処理しません。

LINQ to SQL に対して、記述したクエリを実行するか、操作したデータに対して SubmitChanges() を呼び出すように指示すると、LINQ to SQL はデータベースの言語でデータベースと通信します。

作成したオブジェクト モデルを使用する一般的な手順を次に示します。

1. データベースから情報を取得するクエリを作成します。

詳細については、「クエリの概念とクエリの」を参照してください。

2. 挿入、更新、削除の既定の動作をオーバーライドします。

このステップはオプションです。 詳細については、 挿入、更新、および削除操作のカスタマイズを参照してください。

3. コンカレンシーの競合を検出して報告するための適切なオプションを設定します。

コンカレンシーの競合を処理するための既定値をそのままにすることも、目的に合わせて変更することもできます。 詳細については、「方法: コンカレンシーの競合がテストされるメンバーを指定する」および「方法: コンカレンシー例外が発生するタイミングを指定する」を参照してください。

4. 継承階層を確立します。

このステップはオプションです。 詳細については、「 継承のサポート」を参照してください。

5. 適切なユーザー インターフェイスを提供します。

この手順は省略可能であり、アプリケーションの使用方法によって異なります。

6. アプリケーションをデバッグしてテストします。

詳細については、「 デバッグのサポート」を参照してください。

こちらも参照ください