首先使用 EF 5 数据库延迟加载



我的数据库中有三个表:

  • 发布
  • 作者
  • 标签

我正在使用 ASP.NET MVC 4 和 EF 5,我的 Post 模型(自动生成)如下所示:

public partial class BlogPost
{
    public BlogPost()
    {
        this.Tags = new HashSet<Tag>();
    }
    ...
    public virtual Author Author { get; set; }
    public virtual ICollection<Tag> Tags { get; set; }
}

我的上下文和数据库集被找到。我正在尝试使用此查询获取数据库中的所有帖子

dbSet.ToList()

我以为作者将为空,标签将为空,因为我没有使用Include()来使用预先加载。但是如果我调试,我发现作者不是空的,标签有两个元素。我不明白为什么。

在标签实体中,我得到了一个导航属性来获取获得该标签的所有帖子。看起来正在填充所有数据...但是当我测试页面时我没有注意到任何性能问题,它的加载速度非常快。

也许这不是错误...我只是错过了什么吗?

请检查此答案:

延迟加载意味着实体将在 首次访问集合或导航属性,这将发生 透明地,就好像它们总是加载父对象一样。

使用"include"是按需加载,当您指定属性时 想要查询。

希望这有帮助。

相关内容

  • 没有找到相关文章

最新更新