Entity-framework-views

提供:Dev Guides
移動先:案内検索

Entity Framework-ビュー

ビューは、事前定義されたクエリによって取得されたデータを含むオブジェクトです。 ビューは、結果セットがクエリから派生した仮想オブジェクトまたはテーブルです。 データの列と行が含まれているため、実際のテーブルに非常に似ています。 以下は、ビューのいくつかの典型的な使用法です-

  • 基になるテーブルのデータをフィルター処理する
  • セキュリティのためにデータをフィルタリングする
  • 複数のサーバーに分散されたデータを集中化
  • 再利用可能なデータセットを作成する

ビューは、テーブルを使用できるのと同様の方法で使用できます。 ビューをエンティティとして使用するには、まずデータベースビューをEDMに追加する必要があります。 モデルにビューを追加した後、作成、更新、削除操作を除いて、通常のエンティティと同じ方法でモデルを操作できます。

データベースからモデルにビューを追加する方法を見てみましょう。

  • ステップ1 *-新しいコンソールアプリケーションプロジェクトを作成します。

アプリケーションプロジェクト

  • ステップ2 *-ソリューションエクスプローラーでプロジェクトを右クリックし、[追加]→[新しいアイテム]を選択します。

プロジェクトソリューションエクスプローラー

  • ステップ3 *-中央のペインからADO.NET Entity Data Modelを選択し、[名前]フィールドにViewViewという名前を入力します。
  • ステップ4 *-[追加]ボタンをクリックして、[エンティティデータモデルウィザード]ダイアログを起動します。

ボタンを追加

  • ステップ5 *-データベースからEF Designerを選択し、[次へ]ボタンをクリックします。

エンティティモデルウィザード

  • ステップ6 *-既存のデータベースを選択し、[次へ]をクリックします。

既存のデータベース

  • ステップ7 *-Entity Framework 6.xを選択し、[次へ]をクリックします。

Entity Framework Next

  • ステップ8 *-データベースからテーブルとビューを選択し、[完了]をクリックします。

テーブルビュー

ビューが作成され、エンティティとしてプログラムで使用できることをデザイナーウィンドウで確認できます。

ソリューションエクスプローラーで、MyViewクラスもデータベースから生成されていることがわかります。

すべてのデータがビューから取得される例を見てみましょう。 以下はコードです-

class Program {

   static void Main(string[] args) {

      using (var db = new UniContextEntities()) {

         var query = from b in db.MyViews
            orderby b.FirstMidName select b;

         Console.WriteLine("All student in the database:");

         foreach (var item in query) {
            Console.WriteLine(item.FirstMidName + " " + item.LastName);
         }

         Console.WriteLine("Press any key to exit...");
         Console.ReadKey();
      }
   }
}

上記のコードが実行されると、次の出力が表示されます-

All student in the database:
Ali Khan
Arturo   finand
Bill Gates
Carson Alexander
Gytis Barzdukas
Laura Norman
Meredith Alonso
Nino Olivetto
Peggy Justice
Yan Li
Press any key to exit...

理解を深めるために、上記の例を段階的に実行することをお勧めします。