entity-framework - EF 代码优先 : How to load related data (parent-child-grandchild)?

标签 entity-framework ef-code-first entity-framework-5 entity-framework-4.1 entity-framework-6

我有这个实体:

public class DynamicPage {

    public int PageId { get; set; }

    public int Order { get; set; }

    public string MenuText { get; set; }

    public string MenuHover { get; set; }

    public int? ParentId { get; set; }

    public virtual DynamicPage Parent { get; set; }

    public virtual ICollection<DynamicPage> Children { get; set; }
}

该实体可能有 3 个级别:父级 -> 子级 -> 孙级。如何加载父级(级别 1)与所有关联的子级(级别 2)以及每个子级的关联孙子级(级别 3)(如果有)?感谢帮助。

最佳答案

EF 4.1 特性和语法:

var entity = context.Parents
    .Include(p => p.Children.Select(c => c.GrandChildren))
    .FirstOrDefault(p => p.Id == 1); // or whatever condition

关于entity-framework - EF 代码优先 : How to load related data (parent-child-grandchild)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7508241/

相关文章:

c# - POCO Entity Framework 和多态性

c# - WebSecurity.CreateUserAndAccount "Field does not exist"

c# - 使用 Entity Framework 动态选择要将数据插入到哪个表

c# - 在不维护数据库上下文的情况下检索和修改实体?

c# - Entity Framework Code First Auditing 多对多和一对多问题

c# - Entity Framework - 以多列索引作为标识符的种子 AddOrUpdate

c# - Db.SaveChanges 在插入后不分配主键 ID - Code First Entity Framework

c# - .Net Entity Framework 到 CSV

entity-framework - 使用 Entity Framework 进行软删除(“历史记录”列)

sql-server - Entity Framework ,如何增加限制?