gpt4 book ai didi

c# - 更改 NHibernate 中的初始 LazyLoad 行为

转载 作者:太空狗 更新时间:2023-10-30 00:47:33 26 4
gpt4 key购买 nike

我刚刚开始使用 NHibernate 和 fluent-NHibernate,我认为它们很棒。我一直在配置我所有的映射以对类之间的任何关系使用 LazyLoading,因为通常我发现没有必要预先加载所有内容。然而,有时您 100% 知道您将加载所有关系或至少一个关系,如果您预先获取数据,它将保存额外的连接。

无论如何,您是否可以告诉 NHibernate 加载关系的关系数据并覆盖初始设置?

我之前使用的是 LinqToSql,为此我会创建一个存储库,它会在必要时重载哪些项目应该加载到哪些关系中。这工作得很好,所以我想要 NHibernate 的类似的东西。

最佳答案

我发现这可以用于 NHibernate 查询的 LazyLoading/Eager loading 特性。

以正常方式创建您的 ICriteria,然后是关联名称(关系属性,对我来说是价格),然后是可以是 join、select、lazyload、eager 的获取类型

.SetFetchMode("Prices", FetchMode.Join)

关于c# - 更改 NHibernate 中的初始 LazyLoad 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/387672/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com