3

Code First でデータベース ビューを調べ始めたところです...そして、それらを使用する必要があるかどうかを判断しようとしています。

ここで、Ladislav は、テーブルと Db-View に NotMapped 継承親を使用することをお勧めします (私のビューは子エンティティの合計のみを追加します)...しかし、これは CF 移行でどのように機能しますか? 本当に使いたいです。

また...ナビゲーション プロパティは Db-View Entity で機能しますか?

データを Db-View エンティティ (およびそのテーブル) に直接保存する方法はありますか?

4

1 に答える 1

8

コードを最初に使用し、移行を使用する場合は、ビューを使用しないでください。ビューはデータベースの「ロジック」構造であり、コード ファーストはデータベース ロジックを作成するためのアプローチではありません。最初にコードを使用すると、リンクされた回答にも記載されているプロジェクションを使用する必要があります。

移行は、ビューに関連する変更を検出できません。ビューのすべての移行コードを手動で記述する必要があります。

ビューを使用する場合は、最初にデータベースを実行し (= 移行なし)、それらを EDMX またはコード マッピングでマップする必要があります。

また...ナビゲーション プロパティは Db-View Entity で機能しますか?

これは、コード マッピングが EDMX よりも優れたサポートを提供する唯一のシナリオです。データベースに存在しない場合でも、モデルでリレーションを定義できます (ただし、データベースはデータの整合性を確保する必要があります)。理論的には EDMX でも可能ですが、EDMX を手動で変更する必要があります。

データを Db-View エンティティ (およびそのテーブル) に直接保存する方法はありますか?

はい、しかしあなたのビューは更新可能でなければなりません。集計値を含むビューは更新可能ではないと思います。

于 2012-08-15T17:58:50.463 に答える