EF 代码优先:如何加载相关数据(父子孙子)? [英] EF code-first: How to load related data (parent-child-grandchild)?

本文介绍了EF 代码优先:如何加载相关数据(父子孙子)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个实体:

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)(如果有)?感谢帮助.

This entity may have 3 level: Parent -> Child -> Grandchild. How can I load the Parent (level 1) whit all associated children (level 2) and for each child, associated grandchild (level 3) if any? Thanks to help.

推荐答案

EF 4.1 特性和语法:

EF 4.1 feature and syntax:

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

这篇关于EF 代码优先:如何加载相关数据(父子孙子)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆