1. ホーム
  2. .net

[解決済み] Code First エンティティフレームワークでビューを使う方法 [終了しました]。

2023-01-10 06:51:59

質問

どのように私は最初にエンティティフレームワークのコードでデータベースビューを使用することができます。

どのように解決するのですか?

私のように、他のデータベース (私の場合は ERP) から来るエンティティを、アプリケーション固有のエンティティに関連付けることだけに関心がある場合、テーブルを使用するようにビューを使用できます (同じ方法でビューをマップします!)。もちろん、そのエンティティを更新しようとすると、ビューが更新可能でない場合は、例外が発生します。 手順は、通常の(テーブルに基づいた)エンティティの場合と同じです。

  1. ビューのためのPOCOクラスを作成します; 例えばFooView

  2. DbContext クラスに DbSet プロパティを追加します。

  3. FooViewConfiguration ファイルを使用して、ビューに別の名前を設定したり (コンストラクタで ToTable("Foo"); 、特定のプロパティを設定します)

    public class FooViewConfiguration : EntityTypeConfiguration<FooView>      
    {
        public FooViewConfiguration()
        {
            this.HasKey(t => t.Id);
            this.ToTable("myView");
        }
    }
    
    
  4. FooViewConfigurationファイルをmodelBuilderに追加し、例えばContextのOnModelCreatingメソッドをオーバーライドします。

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Configurations.Add(new FooViewConfiguration ());
    }