实体框架 6:使用空或空外键加载相关实体



Parent 有一个 Child 集合。子项具有父项的外键 (父 ID),但该外键可能为空/空。我希望实体框架始终为所有父级加载具有空/空外键的子项。

public class Parent
{
    public string ID { get; set; }
    public virtual ICollection<Child> Children { get; set; } //Should load it's children AND children without foreign key.
}
public class Child
{
    public string ID { get; set; }
    public string ParentID { get; set; } //This can be null / blank.
}

没有 ParentId,孩子就是所谓的孤儿。如果没有填充的外键属性,则无法将子项链接到父项。

如果您只是想在子项中查询具有空或空 ParentId 的记录,请对 DbContext 执行以下操作:

var orphans = myContext.Children.Where(child => String.IsNullOrEmpty(child.ParentId));

最新更新