3

我正在创建一个带有子菜单的菜单结构。TopMenu-Items 的 ParentID 应为 NULL

我的模型:

    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 更新顶级菜单(ParentID = null)时,我的 ModelState 无效,因为 ParentID = null

我可以使用顶级的 ParentID = 0 来解决它,但我想知道 Null 失败的原因,尽管我在模型中将其设为 NULLABLE。

4

1 回答 1

1

问题来自返回值“null”而不是“”(空字符串)。我正在使用 jtable (jtable.org) 并为 ParentID 创建了一个自定义显示字段,这导致了问题,因为我在顶层显示了 ParentIDs (1,2,....44..) 和“null”。所以“null”被发回,它应该是“”

于 2013-08-04T12:17:50.687 回答