エンティティフレームワーク-ビュー
ビューは、事前定義されたクエリによって取得されたデータを含むオブジェクトです。ビューは、結果セットがクエリから派生した仮想オブジェクトまたはテーブルです。データの列と行が含まれているため、実際のテーブルと非常によく似ています。以下は、ビューのいくつかの典型的な使用法です-
- 基になるテーブルのデータをフィルタリングする
- セキュリティ目的でデータをフィルタリングする
- 複数のサーバーに分散されたデータを一元化
- 再利用可能なデータセットを作成する
ビューは、テーブルを使用するのと同じように使用できます。ビューをエンティティとして使用するには、最初にデータベースビューをEDMに追加する必要があります。モデルにビューを追加した後、作成、更新、および削除操作を除いて、通常のエンティティと同じ方法でモデルを操作できます。
データベースからモデルにビューを追加する方法を見てみましょう。
Step 1 −新しいコンソールアプリケーションプロジェクトを作成します。
Step 2 −ソリューションエクスプローラーでプロジェクトを右クリックし、「追加」→「新規アイテム」を選択します。
Step 3 −中央のペインから[ADO.NETエンティティデータモデル]を選択し、[名前]フィールドに名前ViewModelを入力します。
Step 4 − [追加]ボタンをクリックして、[エンティティデータモデルウィザード]ダイアログを起動します。
Step 5 −データベースからEF Designerを選択し、[次へ]ボタンをクリックします。
Step 6 −既存のデータベースを選択し、[次へ]をクリックします。
Step 7 − Entity Framework 6.xを選択し、[次へ]をクリックします。
Step 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...
理解を深めるために、上記の例を段階的に実行することをお勧めします。