实体框架-具有一对多关系的c#EF表-显示在同一页面上

本文关键字:显示 一页 c#EF -具 框架 一对多 关系 实体 | 更新日期: 2023-09-27 17:58:56

我有这样的类:

public class Parent
{
        public int ParentId { get; set; }
        .....
        public virtual ICollection<ChildValue>ChildValues { get; set; }
}
public class ChildValue
{
        public int ChildValueValueId { get; set; }
        public int ParentId { get; set; }
        public virtual Parent Parent{ get; set; }
}

在控制器类中,我有:

public ViewResult DisplayData(*Searchvalue*)
{
       Parent parent = DbContext.Parent
                    .Where(x => (..) && (..)).FirstOrDefault();
       return View(parent);    
}

我的问题是:在控制器类DisplayData函数中,当我做调试和快速监视父级时。ChildValues为什么为null?我认为EF会自动检索相关的子值,在视图页面上,我可以使用foreach循环显示它。我是不是错过了什么?

实体框架-具有一对多关系的c#EF表-显示在同一页面上

If DbContext。配置ProxyCreateEnabled设置为false,DbContext将不会加载某些父对象的子对象,除非在父对象上调用Include方法。将DbContext.Configuration.LazyLoadingEnabled设置为true或false不会对其行为产生影响。

同样在视图中,为了显示您的子实体,请确保在视图完全渲染或响应熄灭之前,不要丢弃DbContext。