ObjectQuery.Include() => ObjectQuery.IncludeAll()

Posted

技术标签:

【中文标题】ObjectQuery.Include() => ObjectQuery.IncludeAll()【英文标题】: 【发布时间】:2011-10-12 18:47:45 【问题描述】:

以下示例在查询客户时检索一组相关实体。我在哪里可以找到递归遍历关系图并自动包含它们的样本?

using(Entities context = new Entities())

    return context.Customers
        .Include("Address")
        .Include("Address.State")
        .Include("Address.State.Country")
        .Include("Phone")
        .Include("Phone.PhoneType").Single(c => c.LastName.StartsWith("Jo");

对比

using(Entities context = new Entities())

    return context.Customers.IncludeAll().Single(c => c.LastName.StartsWith("Jo");

【问题讨论】:

有这样的方法是危险的。您最终可能会加载整个数据库。 【参考方案1】:

这个怎么样:

context.Customers.Include(c => c.Address.State.Country)
                 .Include(c => c.Phone.PhoneType)
                 .Single(c => c.LastName.StartsWith("Jo");

您不希望包含所有内容,因为并非在所有情况下您都需要所有内容。

【讨论】:

以上是关于ObjectQuery.Include() => ObjectQuery.IncludeAll()的主要内容,如果未能解决你的问题,请参考以下文章

再解炸弹人,dfs&bfs

编码g.711 g.168 g.729 g.723 哪个好

二手iPad 价格

g:formatDate 作为 g:textField 上的值

g++、clang++、使用libboost的编译花絮——g++7成功时g++8编译失败;

g++ 已安装但 make 说 g++ 未找到(奇怪)