问题标签 [eager-loading]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2284 浏览

ruby-on-rails - Rails 错误:连接 + 包含

我有以下型号:

我正在尝试获取所有公开的图像,同时渴望加载拥有这些图像的人:

看来 Rails 不喜欢 :include (我相信是因为 :person 在 2 个模型中被引用)。这是我得到的错误(当我删除 :include 选项时它消失了):

“ActiveRecord::StatementInvalid: Mysql::Error: Not unique table/alias: 'people'”

我可以通过将实际的 JOIN 命令写为字符串并将其传递给 :include 选项来解决这个问题,但这不是 Rails-y,所以我希望有一种更简洁的方法来做到这一点。

任何帮助将非常感激。

谢谢!

0 投票
1 回答
2268 浏览

entity-framework - Linq-To-Entity 包括

我目前正在学习更多关于 Linq-To-Entities 的知识——尤其是目前关于急切和延迟加载的知识。

这应该加载用户以及用户拥有的任何角色。我有一个问题,但我也有一个问题。这只是一个为学习 L2E 而创建的简单模型

我的印象是这是为了让事情变得强类型 - 那么为什么我必须写“角色”?似乎如果我更改了表的名称,那么这不会产生编译错误......

我的错误是这样的:


下面的解决方案允许我现在编写代码:

哪个更好!

0 投票
7 回答
6790 浏览

repository-pattern - 急切加载和存储库模式

我想知道在使用存储库模式时如何正确处理复杂对象图的急切加载问题。我猜这不是 ORM 特定的问题。

第一次尝试:

这可以正常工作,但这将涉及一直重复自己(在任何地方的存储库实现中编写自定义的“With”方法)。

下一个方法:

With方法会将一个项目添加到私有集合中,稍后将使用该项目来找出在检索必要的实体时应该立即加载哪些道具。

这种工作很好。但我不喜欢用法:

基本上 - 问题是没有链接。我希望它是这样的:

我无法做到这一点。即使我可以 - 我不确定该解决方案是否优雅。

这导致我认为我错过了一些基本的东西(任何地方都没有例子)。有不同的方法来处理这个吗?什么是最佳实践?

0 投票
2 回答
2704 浏览

c# - 使用 ObjectContext.CreateQuery(实体框架和存储库)加载相关实体(急切加载)时遇到问题

这是我尝试过的一堆事情......希望你能从中推断出我正在尝试做什么以及我做错了什么。好的,所以我在使用此 DoQuery 时加载相关实体时遇到问题:

如果我只是使用它,我最终会得到一个包含所有正确参数的对象,除了相关实体的参数......即。如果一个是引用到 User 表的 UserID,我也不会取回 User 对象。

我读到您可以执行 .Include("User") 来执行实体的 Eager Load ......但是当我尝试这个时它不起作用:

我还检查以确保实体集名称和模型名称是“用户”,它们是。我唯一能想到的另一件事是在其中放置多个东西,("[" + typeof(E).Name + "]")但我不确定如何在其中包含多个实体......这是我尝试过的,因为我看到有人说你可以通过放置一个 . 之间。

但这没有用...

如果我不在正确的轨道上,请告诉我。有谁知道在使用 ObjectContext.CreateQuery 时如何加载相关实体?任何建议或见解都会有所帮助。

谢谢,
马特

0 投票
1 回答
1365 浏览

entity-framework - 如何在实体框架中与预先加载相反?

我了解在 Entity Framework 中,您可以指定需要与Include连接的关系:

但是我们有一个相反的问题,一个简单的 LINQ 语句会在 SQL 服务器上进行太多JOIN 。

那么我们如何做相反的事情,即告诉 Entity在获得所有订单时不要对连接表进行任何深度加载,以便在 SQL Server 上执行:

0 投票
1 回答
276 浏览

.net - 为什么 ToLookup() 依赖于 Linq2Sql 中的加载选项?

假设我有 3 个表 Posts、PostTags 和 Tags 定义多对多关系。我想获得一个查找表,它将为我提供与给定标签相关的所有帖子,因此我使用以下代码:

在单元测试中一切正常,但在实际应用程序中,它不起作用。我发现我的单元测试和我的应用程序之间有不同的加载选项。

dataContext.DeferredLoadingEnabled = true;,一切都很好并且按预期工作,但是当dataContext.DeferredLoadingEnabled = false;您没有从PostTagstoPost和的加载选项时Tag,返回的查找包含单个键(null),其中包含一个空数组作为值。生成的 SQL 是

因此,当它生成查找时,pt => pt.Post返回null,标签也是如此。

为什么在这种情况下 Linq2SQL 提供程序不能生成正确的 SQL?

澄清:通过正确的 SQL,任何将返回正确的 Post 和 Tag 对象并允许对它们进行正确分组的 SQL。

0 投票
1 回答
114 浏览

.net - 如何在此代码中执行此急切加载(使用 .Include() 方法)?

我有一个非常简单的存储库,我正在使用 VS2010 Beta 2 附带的 Entity Framework v4。

如果用户有选择地要求它,我正在尝试动态包含 Include 方法。

例如。

有人可以帮忙吗?

0 投票
1 回答
125 浏览

entity-framework - 渴望加载跟踪的项目?

我有一个绑定到实体(联系人)的元素,该实体公开了一些导航属性。

我希望,在某些操作(即“加载子项”按钮)上,联系人应该为其​​所有子项和孙子加载,就像我可以在执行前使用 ObjectQuery.Include 一样;示例(伪):

我希望能够通过重新加载上面示例中的项目来塑造结果,而不仅仅是在查询模型本身时。

我认为这应该以某种方式成为实体框架的一部分。

0 投票
3 回答
1305 浏览

grails - Grails GORM 域类关系

Grails 1.1.1 Goovy 1.5.7

在这样的关系中:

作者 1 -- n 书 n -- 1 出版商

在 Grails 中定义:

我想用 Publisher 和 Author 的值加载一本书。当我得到一本带有查询的书时:

我得到了与作者关联的响应,但发布者在另一个查询中只有 id 和 name 类:

我检索了相反的结果,我有出版商数据的书,但作者只有 id 和类名。

定义的模型中的错误在哪里?o 查询方式有误?

编辑:

我需要只使用这样的查询来检索值的方法:

在这一点上,我可以管理出版商的价值。

问题:如果出版商有一个hasmanyDomain相关的,得到这本书我能够阅读的属性?

谢谢。谢谢。

0 投票
1 回答
583 浏览

ruby-on-rails - Rails ActiveRecord - 使用has_many的'build'时急切加载(有点)

我有一种情况,即子项已构建但未保存,然后在视图中使用并引用父项。这导致了 Rails 记录缓存的广泛使用。我想让父母“渴望加载”未保存的儿童记录。

然后在视图中(注意“孩子”没有保存到数据库):