2012-10-14 6 views
7

EF(データベース最初の)私のEDMXファイルからDbContextクラスを自動生成し、このすべてDbContextのプロパティ(例:public DbSet<Student> student { get; set; })のデフォルト名とテーブル名を使用して、私は、このファイル(例では、いくつかの変更を加えた場合Entity FrameworkでDbContextのプロパティ名をカスタマイズして上書きを停止する方法?

:よう学生から学生へのプロパティ名の名前変更)、EFがDbContextクラスファイルを再生成するため、モデルを保存するたびに変更が失われます。

このデフォルトの動作を変更してカスタマイズを行い、それを失うのを止めるにはどうすればよいですか?

答えて

6

はパヴェルが言ったことについては詳しく説明しEFデザイナ.. EDMXファイル(デザイナー)で、すべてのソースであることを行うことができる必要があります。生成された項目に加える必要のある変更はすべてここで行う必要があります。部分クラスから追加のメソッドやプロパティを追加することはできますが、既存のメソッドやプロパティを変更することはできません。ソースEDMXファイルで変更する必要があります。

デザイナーのテーブルを右クリックして名前を変更します。これは基本となるテーブル名を変更しません(少なくともデータベースファーストリバースエンジニアリングでは、最初のモデルは別の話です)。

+0

テーブル名はわかりましたが、DbContextを継承するEntitiesクラスのメソッド名はどうですか? (MyDataModel.Context.cs内) –

+0

@Etienne - どのようなメソッド名ですか?ポコは理由のためにポコと呼ばれています。彼らには方法がありません。 –

+0

T4テンプレートは、私にMyDataModel.Context.csを含むMyDataModel.Context.ttを与えます。最後の1つに、すべてのメソッドのリストを含むPublic partial class Entities:DbContextの定義があります(例:public DbSet student {get; set;})。私のリポジトリの中で、このEntitiesクラス(例:private Entitiesコンテキスト)をインスタンス化した後、context.studentを使用してモデルにアクセスできます...コンテキストを使用してアクセスしたいです。受講者...クリア... –

1

あなたはEDMXファイルでそれを変更する必要があります - あなたは

関連する問題