這是POCO的Code First類:ASP.Net MVC。如何使用實體框架自動保持關係數據?
class Contact{
[Key]
public int Id {get; set;}
public string name {get; set;}
public ICollection<Phone> phones{get; set;}
}
class Phone{
[Key]
public int id {get;set;}
public string phone_type {get; set;}
public string phone_number {get; set;}
public Contact contact { get; set; }
}
我想堅持它DB。
這是控制器:
綁定的「接觸」實例確實包含一個列表的手機聯繫人與很多手機。
public ActionResult Edit([Bind()] Contact contact) {
if (ModelState.IsValid)
{
db.Entry(contact).State = System.Data.Entity.EntityState.Modified;
db.SaveChangesAsync();
return RedirectToAction("Index");
}
return View(contact);
}
但是,這段代碼只保留了db上的Contact實例。電話表仍空。
是否有任何配置自動持續在數據庫相關的「電話」數據,或者必須手動編碼?
對於那些有興趣,該視圖是這樣的(簡化):
@model SGD.Models.Contact
Name: @Html.EditorFor(model => model.name)
Phones: <div id="phones"></div>
其中#phones DIV填充與此部分與一個增量索引。
<input name="phones[@index].id" type="hidden" />
<input name="phones[@index].phone_type" />
<input name="phones[@index].phone_number" />
請說明如何在視圖中添加/刪除手機 – octavioccl
@octavioccl我添加了簡化視圖代碼。但我確定控制器可以正確地從視圖中綁定數據。這裏的問題只是堅持它在數據庫。 –
您是否調試過您的操作以確保電話隨附聯繫人? – octavioccl