我使用EF電動工具反向工程現有的數據庫。這可以。在EDMX Database-1st Route下面,我會爲任何覆蓋(如Data Annotations)創建部分類,例如在這裏,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; }
}
}
這是好的。現在我用代碼第一反向工程師或者是否有任何自定義設置,如果你必須多次運行電源工具,因爲說我向數據庫添加了一個新表,它不會覆蓋任何更改到先前創建的現有模型。
這最終意味着我可以對實際模型類本身進行更改,而不是創建部分類。
參考了EF電動工具可以在這裏找到:
http://blogs.msdn.com/b/adonet/archive/2012/04/09/ef-power-tools-beta-2-available.aspx
作爲參考,有一個比電動工具更好的逆向發生器。它支持部分。試試看:http://visualstudiogallery.msdn.microsoft.com/ee4fcff9-0c4c-4179-afd9-7a2fb90f5838 –