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

时间:2015-01-07 18:19:32

标签: c# .net entity-framework entity-framework-6

Parent拥有Child的集合。 Child具有Parent的外键(ParentID),但该外键可能为null / blank。 我希望Entity Framework始终为所有Parent加载具有null /空外键的Child。

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.
}

1 个答案:

答案 0 :(得分:2)

没有ParentId,孩子就是所谓的orphan。没有填充的外键属性,无法将子项链接到父级。

如果您只是想查询子节点以获取null或空ParentId的记录,请使用您的DbContext执行以下操作:

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