问题标签 [lazy-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.
linq - Linq to Sql 延迟加载
如果您不打算使用延迟加载,是否应该在“使用”块中将延迟加载明确设置为 false?在我看来,块内的 dataContext 正在加载子对象。
domain-driven-design - 存储库模式:如何延迟加载?或者,我应该拆分这个聚合吗?
我有一个具有编辑器和项目概念的域模型。
一个Editor拥有多个Projects,一个Project不仅有一个Editor owner,还有多个Editor members。因此,一个编辑器也有许多“加入”的项目。
我正在采用 DDD 方法对此进行建模并使用存储库模式进行持久化。但是,我对模式的理解还不够好,无法确定我应该如何做到这一点。
我正在假设 Editor 和 Project 可能在同一个聚合中,根是 Editor。因此,我可以获得一个编辑器,然后枚举其项目,并可以从那里枚举项目的成员编辑器。
但是,如果我只被允许从我的存储库中检索编辑器,这是否意味着当我获得拥有它们的编辑器时,我必须从存储库中加载所有项目?如果我想延迟加载成员编辑器,项目是否也需要对存储库的引用?
或者,如果我拆分聚合并拥有一个编辑器存储库和一个项目存储库,我应该如何处理两者之间的事务,例如将新项目添加到编辑器时?例如:
我是否误解了存储库模式的意图?
.net - NHibernate:无法成功设置延迟加载
我有一个表 Parent 和一个表 Child。Child 包含 Parent 表的外键,创建一对多关系。这是我用 fluent NHibernate 定义的映射的一部分:
如您所见,我已经在关系上设置了 LazyLoad。另请注意,在我的模型类中,所有属性都设置为虚拟。
现在进行简单查询:
并且生成的SQL:
如您所见,它在 Parent 表上进行连接并选择其字段(id 和 description)。但是,既然我要求延迟加载,为什么它会这样做呢?
现在,如果我将查询更改为:
生成了 2 个 sql 查询:
这对我有好处:不加入,不查询父表。但我也得到了第二个:
再次查询 Parent 表。
这 2 个查询是在行期间生成的:
我完全不知道这里发生了什么。有人可以帮忙吗?
linq - 使用数据缓存和延迟加载时是否有冲突?
如果我打算使用数据缓存,在使用延迟加载时是否需要担心冲突?似乎使用 linq 我正在失去对数据的控制。
java - 在 Spring 中延迟加载 DTO 字段
我有一个使用 Spring 的项目,它被分解成几十个 DAO 和相关的 DTO。我正在使用 JdbcTemplate,但仅此而已,因为它正是我满意的抽象级别。
我目前正在我的 DTO 上执行延迟加载,方法是在它们的 getter 中放置一些相当多毛的代码。
基本的样板逻辑是: 1. 如果字段不为 null,则返回其值并退出 2. 联系适当的 DAO 并获取相关的 DTO 3. 将它们存储到下一次。
它工作得很好,除了我的低级 DTO 与一大堆 DAO 相结合并且不是那么 POJOey。
如果我将逻辑放在 DAO 中,则会出现另一种代码气味,因为它将同时处理其 DTO 的 CRUD 和延迟加载,并且据我所知,对象应该有一个单一的责任。
我希望有一个相对简单的 Spring 方法,我可以使用它在 DAO 和 DTO 之间注入一个延迟加载器对象来实现这一点,但任何其他解决方案都对我有用。
有任何想法吗?
.net - 如何延迟使用 linq 到 sql 外部映射加载属性?
我有一个表,其中包含一些我不想默认加载的 blob 字段。
在 dbml 文件中,可以为这些字段设置延迟加载属性。
外部映射文件是否有类似的选项?
c# - 延迟加载 - 最好的方法是什么?
我见过很多延迟加载的例子——你的选择是什么?
给定一个模型类,例如:
Person 类不应该知道它的孩子是如何加载的……还是应该知道?当然,它应该控制何时填充属性?
您是否有一个将 Person 与其子集合耦合在一起的存储库,或者您是否会使用不同的方法,例如使用延迟加载类 - 即使这样,我也不希望延迟加载类在我的模型架构中模糊。
如果首先请求一个人然后是它的子项(即在此实例中不是延迟加载)或以某种方式延迟加载,您将如何处理性能。
这一切都归结为个人选择吗?
iphone - 在 UITableViewCell 中延迟加载图像
我的 UITableView 中有大约 50 个自定义单元格。我想在从 URL 获取图像的单元格中显示图像和标签。
我想做一个延迟加载图像,以便在加载图像时 UI 不会冻结。我尝试在单独的线程中获取图像,但每次单元格再次可见时我都必须加载每个图像(否则重用单元格会显示旧图像)
像 Facebook 这样的应用程序只为当前可见的单元格加载图像,一旦加载了图像,就不会再次加载它们。有人可以告诉我如何复制这种行为。
谢谢。
编辑
尝试在 NSMutableDictionary 对象中缓存图像会在用户快速滚动时产生问题。仅当滚动完全停止并清除内存警告时的缓存时,我才会获取图像。但是应用程序总是会收到内存警告(由于缓存的图像大小)并在重新加载之前清除缓存。如果滚动非常快,它会崩溃。
欢迎任何其他建议
c++ - 设计一个惰性向量:const 的问题
我写了一个小“惰性向量”类(或延迟向量),它应该看起来像 astd::vector
并且可以在使用 astd::vector
的任何地方使用,但它会“惰性”加载它的元素,即它会加载元素n
(可能还有更多)每当有人访问 element 时从磁盘中获取n
。(原因是在我的应用程序中,并非所有元素都适合内存。)
这是此类LazyVector
,但const
使用此类向量的成员函数存在问题,请参见下文。
正如我所说,当const
成员函数请求LazyVector
. 本质上LazyVector
,访问一个元素不是 const
,即它会改变vec
下面的向量,这在这种情况下是被禁止的。foo
成员函数必须const
且不能更改。我该如何解决这个问题?
linq-to-sql - linq to sql 会自动延迟加载关联实体吗?
linq to sql 会自动延迟加载关联实体吗?
我认为会,但我找不到这样的文章。