EFPowerToolsを使用して既存のデータベースをリバースエンジニアリングしています。これで結構です。EDMXデータベース-1番目のルートでは、データ注釈などのオーバーライド用の部分クラスを作成します。たとえば、ここでは、LedgerPeriodが元のEntityObjectです。
[MetadataType(typeof(LedgerPeriodMetaData))]
public partial class LedgerPeriod
{
public class LedgerPeriodMetaData
{
[Required(ErrorMessage = "Period Start Date Required")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
[DataType(DataType.Date)]
public object PeriodDateFrom { get; set; }
[Required(ErrorMessage = "Period End Date Required")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
[DataType(DataType.Date)]
public object PeriodDateTo { get; set; }
}
}
これで結構です。ここで、 Code First Reverse Engineerに同じアプローチを使用しますか、それとも、データベースに新しいテーブルを追加したとして、動力工具を複数回実行する必要がある場合に、変更を上書きしないカスタム設定がありますか?以前に作成された既存のモデル。
これは、最終的には、部分的なクラスを作成する代わりに、実際のモデルクラス自体に変更を加えることができることを意味します。
EF Powertoolsへの参照はここにあります:
http://blogs.msdn.com/b/adonet/archive/2012/04/09/ef-power-tools-beta-2-available.aspx