EntityFramework 设置树结构关系
实例数据结构
public class Category { public int CategoryId { get; set; } public string Name { get; set; } //父节点 类型必须设置允许为空 public int? ParentId { get; set; } //这里为当前结构的父实体 public Category Parent { get; set; } //这里为当前结构的子对像实体 public List<Category> Children { get; set; } }
数据上下文关系设置
//设置为可选 Property(c => c.ParentId).IsOptional(); //外键父节点和主键的关系 HasMany(c => c.Children).WithOptional(c => c.Parent).HasForeignKey(c => c.ParentId); //使用下面的外键关系和上面的效果一样 //HasOptional(c => c.Parent).WithMany(c => c.Children).HasForeignKey(c => c.ParentId);
设置完关系和实体后可以直接嵌套使用了,ParentId不需要填写,会自动对应主实体!
context.Categories.Add(new Category { Name = "test", Children=new List<Category>{ new Category{Name = "test1"} } });
希望对大家有所帮助。

浙公网安备 33010602011771号