我已經使用ADO.NET實體數據模型創建了具有EF db-first的MVC 4應用程序。MVC 4 EF數據庫優先模型構造函數更新
我以前一直在將數據驗證和更新構造函數直接添加到生成的模型類中,但正如我預見這些表要更新的那樣,我不想將這些全部添加回去,再加上我不應該無論如何編輯這些自動生成的類。
從http://www.asp.net/mvc/tutorials/mvc-5/database-first-development/enhancing-data-validation使用Metadata.cs和PartialClasses.cs我不確定更新這些Model類的默認構造函數的最佳方法。
下面是一個簡化的示例模型。 在ParticalClasses.cs內的.edmx
public partial class Campaign
{
public Campaign()
{
this.Fees = new HashSet<Fee>();
}
public int ID { get; set; }
public string Name { get; set; }
public string CreatedBy { get; set; }
public System.DateTime CreatedOnDate { get; set; }
public virtual ICollection<Fee> Fees { get; set; }
}
[錯誤的產生莫代爾類定義默認構造函數]
[MetadataType(typeof(CampaignMetadata))]
public partial class Campaign
{
public Campaign()
{
this.Fees = new HashSet<Fee>();
// Non-Generated
this.CreatedOnDate = DateTime.Now;
}
}
我有其他型號我也想有其他構造不同的參數,所以爲了簡化我的問題,我在哪裏添加DB first MVC的構造函數,以便不更新生成的Model類?
您可以將驗證應用於您viewmodels - 與應用於數據模型實體相同的概念。 – tintyethan