サブメニューを含むメニュー構造を作成しています。TopMenu-Items には、NULL の ParentID が必要です
私のモデル:
public Menu()
{
this.active = true;
this.publishStart = DateTime.Now;
this.seq = 1;
}
public string Name { get; set; }
public string Name_Sub { get; set; }
public string Url { get; set; }
public int? Level { get; set; }
public int? ParentID { get; set; }
public string Icon { get; set; }
public int? Status { get; set; }
public virtual Menu Parent { get; set; }
public virtual ICollection<Menu> ChildMenus { get; set; }
と
modelBuilder.Entity<Menu>().HasOptional(s => s.Parent)
.WithMany(s => s.ChildMenus).HasForeignKey(s => s.ParentID);
JSON を使用して topLevel メニュー (ParentID=null) を更新すると、ParentID = null のため、ModelState が無効になります。
Top-LevelのParentID=0で解決できたのですが、モデルではNULLABLEにしたのにNullが失敗する理由が知りたいです。