オブジェクトの作成に問題があります。私のエンティティは、「階層的な」一対一の関係を持っています。部門は別の部門に属することができます。ここ は私の実体である:MVC4、EF: "階層的な" 1対多の関係を持つ新しいオブジェクトを作成
//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.ParentDivision = new SelectList(db.Divisions, "ParentDivision.DivisionId", "Name", division.ParentDivision.DivisionId);
を、しかし親分裂せずに...
は、私は本当に困惑している...:
私はまた、このようViewBagを変更しようとしました誰かが何らかのアイデアを持っていたら...事前にありがとう。
本当に "循環型"を意味しますか?すなわち、部門AはAを所有するBを所有しているか?あるいは「階層的」を意味しますか? AはB、C、Dを所有する。 CはE、Fなどを所有していますが、Aには戻っていませんか? –
@AdamBensonはい、申し訳ありませんが、あなたが言うように、階層的で循環的ではありません。 – Pookye