1

Entity Framework 6.1.3生成クラスを拡張することは可能ですか?Entity Framework 6.1.3生成クラスを拡張する方法は?

私はADO.NETエンティティデータモデルを作成した既存のデータベースを持っています。これは、Visual Studio 2015が一連のクラスを生成しました。しかしこれは、Visual Studioの2015が生成したことをクラスの編集が含まれ

public WebApplication1Entities(string connectionString) : base(connectionString) 
    { 
    } 

が、私は更新したいはずです。

public partial class WebApplication1Entities : DbContext 
{ 
    public WebApplication1Entities() 
     : base("name=WebApplication1Entities") 
    { 
    } 

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     throw new UnintentionalCodeFirstException(); 
    } 
} 

私は手動ほどダイナミックなランタイム接続を許可するようにWebApplication1Entitiesを上書きすることができますADO.NETエンティティデータモデル将来、Visual Studioは以前に生成されたクラスに対して手動で行った変更を上書きします。生成されたクラスを手動で編集する必要があります。

WebApplication1Entities : DbContextを拡張するためのヘルパークラスなどを作成し、新しいオーバーロードされたメソッドの追加を許可し、仮想DbSetsなどのVisual Studio 2015生成クラスの既存メソッドを継承することはできますか。あなたが宣言このクラスはpartialある

public partial class WebApplication1Entities : DbContext 

で見たよう

すべてのヘルプは非常に

+0

部分的なクラスだから、 "手動での変更"をどこに置いていますか?生成された同じファイルに入れているのですか、別のファイルに入れていますか? –

答えて

2

:-)いただければ幸いです。

ですから、別* .csファイルがを提出し、(同じ名前空間を使用!)そこにあなたのコードを入れて作成することができます。

public partial class WebApplication1Entities 
{ 
    public WebApplication1Entities(string connectionString) : base(connectionString) 
    { 
    }   
} 

をので、設計者は「オリジナル」クラスを含むファイルを上書きし、あなたのコードは変更されません。

Morepartialクラスおよびメソッド。

+0

私はそれがとてもシンプルだったとは信じられません、ありがとう、完璧に動作します:-) – iggyweb

関連する問題