我正在创建一个带子菜单的菜单结构。 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更新topLevel菜单(ParentID = null)时,由于ParentID = null,我的ModelState无效
我可以使用ParentID = 0来解决顶层问题,但我想知道Null失败的原因,尽管我在模型中将其设为NULLABLE。
答案 0 :(得分:1)
问题来自返回值“null”而不是“”(空字符串)。 我正在使用jtable(jtable.org)并为ParentID创建了一个自定义显示字段,这导致了问题,因为我在顶级显示了ParentIDs(1,2,.... 44 ..)和“null”。 所以“null”被贴回来,应该是“”