我在創建對象時遇到了問題。我的實體具有「分層」的一對多關係。一個部門可以屬於另一個部門。 這裏是我的實體:MVC4,EF:用「分層」一對多關係創建新對象
//Properties
[Key]
[Column(Order = 0)]
public int DivisionId { get; set; }
[Required]
[MaxLength(30)]
[Column("DivisionName", Order = 2)]
public string Name { get; set; }
//Navigation properties
public virtual Division ParentDivision { get; set; }
這裏是我的方法來創建一個新的部門:
public ActionResult Create()
{
ViewBag.ParentDivision = new SelectList(db.Divisions, "DivisionId", "Name");
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Division division)
{
if (ModelState.IsValid)
{
db.Divisions.Add(division);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.ParentDivision = new SelectList(db.Divisions, "DivisionId", "Name", division.ParentDivision.DivisionId);
return View(division);
}
在這種情況下,當我試圖創造屬於其他部門的分工,我得到一個「你調用的對象是空的。」錯誤。
我也試圖改變ViewBag這樣的:
ViewBag.ParentDivision = new SelectList(db.Divisions, "ParentDivision.DivisionId", "Name", division.ParentDivision.DivisionId);
這裏創建對象,但沒有父師......
我真的很迷茫......如果有人有任何想法...提前謝謝。
你真的是指「通知」?即A部門擁有擁有A的B?或者你的意思是「等級」? A擁有B,C,D; C擁有E,F等,但它永遠不會回到A? –
@AdamBenson對不起,正如你所說,這是分層次的,不是圓形的,謝謝 – Pookye