Entity framework one to many in one table
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | [Table("Menus")] public class Menus { /// <summary> /// Table"Menus", ID /// </summary> private int _ID; [Key] [Display(Name ="ID")] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int ID { get { return _ID; } set { _ID = value; } } /// <summary> /// Table"Menus", MenuName /// </summary> private string _MenuName; [Display(Name ="MenuName")] public string MenuName { get { return _MenuName; } set { _MenuName = value; } } /// <summary> /// Table"Menus", ParentID /// </summary> private int _ParentID; [Display(Name ="ParentID")] public int ParentID { get { return _ParentID; } set { _ParentID = value; } } } |
我有这张桌子。我希望在 ParentID 上包含"一对多"。我想从列表中选择父 id,并想通过实体框架或流利的 api 来完成,但不知道他们很好。
你会想做这样的事情:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [Table("Menus")] public class Menus { [Key] public int ID { get; set; } public string MenuName { get; set; } [ForeignKey("ParentMenu")] public int ParentID { get; set; } public virtual Menu ParentMenu { get; set; } public virtual List<Menu> ChildMenus { get; set; } } |
一切正常。谢谢。
我删除表中的所有行,然后创建迁移。但该属性必须可以为空:
1 | public int? ParentID { get; set; } |