大多數教程都沒有真正涵蓋這一點。他們只是說你的實體鏈接到控制器,你就完成了。將實體組合到ViewModels中並使用實體框架
在我的商業模式中,我有客戶,我有客戶聯繫人1客戶> 1個客戶聯繫人。如何爲這些視圖模型創建一個視圖模型,以便從相同的視圖中編輯/創建視圖模型?
public class Customer
{
public Customer()
{
this.CustomerContacts = new List<CustomerContact>();
this.Systems = new List<System>();
this.CreatedByCustomerTickets = new List<Ticket>();
this.CustomerTickets = new List<Ticket>();
}
public long CustomerID { get; set; }
public Nullable<bool> BusinessCustomer { get; set; }
public string CustomerName { get; set; }
public string CustomerNotes { get; set; }
public virtual ICollection<CustomerContact> CustomerContacts { get; set; }
public virtual ICollection<System> Systems { get; set; }
public virtual ICollection<Ticket> CreatedByCustomerTickets { get; set; }
public virtual ICollection<Ticket> CustomerTickets { get; set; }
}
public class CustomerContact
{
public long CustomerContactID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int Phone { get; set; }
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public Nullable<int> Zip { get; set; }
public Nullable<long> CustomerID { get; set; }
public string Email { get; set; }
public bool PromotionalEmails { get; set; }
public virtual Customer Customer { get; set; }
}
有趣的問題。我沒有發現自己使用1個模型來處理所有的垃圾。他們都有不同的模型。甚至在進入延遲加載vs渴望和選擇列表下拉菜單之類的問題之前......像手機一樣簡單(我經常分爲3個字段進行創建和編輯,然後重新組合。 –
@DaveA對不起,我不理解如果這就是你的意思 – Preston
絕對是斷開連接,但你可能有一個嚴格的要求請解釋你爲什麼要從同一個視圖執行創建,讀取和更新 –