3

サブメニューを含むメニュー構造を作成しています。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が失敗する理由が知りたいです。

4

1 に答える 1