实体框架6:关联'Child'收集
本文关键字:Child 收集 关联 框架 实体 | 更新日期: 2023-09-27 18:08:48
假设我有一个这样的表:
Person
{
int Id,
string Name,
int? ParentId
}
在实体框架中,我可以添加一个新的属性Person Parent
,我可以告诉实体框架应该如何映射:
HasOptional(a => a.Parent).WithMany().HasForeignKey(c => c.ParentId);
我的问题是,在这种情况下是否有办法添加这个:
ICollection<Person> Children { get; set; }
集合中ParentId
为当前Person
的所有Person
行填充在哪里?
为您的孩子添加一个属性,像这样:
public ICollection<Person> { get; set; }
然后这样配置映射:
HasMany(p => p.Children).WithOptional(p => p.Parent);
那么你只需要使用延迟加载,急切加载(Include(p => p.Children)
或显式加载)访问Children
属性。
如果你没有导航属性,仍然可以这样做,但不那么明显。
MyContext.Person.Where(p => p.ParentId = parentId);