0
使用C#,VS2012,MVC4,CodeFirstCodeFirst一對多視圖模型查看
我讀到這裏噸的職位和其他地方大約一對多一個視圖模型,但我不能完全得到它。
我有一個程序,地址簿,有兩個表,名稱和電話。對於每個名字,你可以有很多數字。
namespace AddressBook.Models
{
public class Name
{
public int NameID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
//ref
public ICollection<Phone> Phones { get; set; }
}
}
namespace AddressBook.Models
{
public class Phone
{
public int ID { get; set; }
public string Number { get; set; }
//ref
[Required]
public int NameId { get; set; }
public Name Name { get; set; }
}
}
和我的上下文:以下車型
public class ContactDBContext : DbContext
{
public DbSet<Name> Names { get; set; }
public DbSet<Phone> Phones { get; set; }
}
我DetailViewModel:
public class DetailViewModel
{
public Name ID { get; set; }
public Name FirstName { get; set; }
public Name LastName { get; set; }
public List<Phone> Number { get; set; }
}
現在我的控制,我開始會被卡住。我可以撥打電話列表,但我似乎無法獲得獨立的姓名記錄。
public ActionResult Details(int id = 0)
{
DetailViewModel dvm = new DetailViewModel();
dvm.FirstName = (from n in db.Names select n).Where(m => m.NameID == id).ToString();
dvm.LastName = (from n in db.Names where n.NameID == id select n).ToString();
dvm.Number = (from n in db.Phones select n).Where(m => m.NameId == id).ToList();
//tried a couple of different things
return View(dvm);
//Name name = db.Names.Find(id);
//if (name == null)
//{
// return HttpNotFound();
//}
//return View(name);
}
用戶應該能夠在手機上表中詳細進行一次CRUD查看選定名稱的記錄。電話CRUD可以在相同或不同的頁面上完成,無論哪一個更容易編碼。
哦,我在做互聯網應用程序開發,而不是電話。但我確實希望稍後再做。感謝你的回答;給我幾個,我會深入檢查一下。 –
我寫的是針對Web應用程序:)是啊,慢慢來。只要告訴我我的代碼是否適合你,或者至少是否對你有幫助! 乾杯! – photowalker
它爲你工作? – photowalker