.net - NHibernate 中的延迟初始化

标签 .net linq nhibernate lazy-initialization

如果一个实体与另一个实体的关系映射为 Lazy=False,但对于某个函数我需要延迟获取它们,这可以在运行时执行吗?

最佳答案

不,你不能。正如评论者指出的那样,您可以将其映射为惰性并急切地获取,但反之则不然。

即在 LINQ 中,您可以使用 Fetch/FetchMany/ThenFetch/ThenFetchMany 急切地获取关系:

session.Query<Parent>()
    .Where(x => x.Name == "Ruba")
    .FetchMany(x => x.Children)
    .ThenFetch(x => x.SomethingMore);

关于.net - NHibernate 中的延迟初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14920107/

相关文章:

c# - 我的项目不使用 NHibernate 是不是很愚蠢?

nhibernate - 你从升级 NHibernate 1.2 中获得了什么?

c# - NHibernate - 通过代码/Conformist 映射接口(interface)或抽象组件

c# - HttpContext.User 设置正确,然后被下一个请求丢失/替换

c# - InvalidOperationException : Can't compile a NewExpression with a constructor declared on an abstract class

c# - List <myCustomClass>的集合初始值设定项无法正常工作,给出 “; expected”编译错误。为什么?

.net - RavenDB - MapReduce 复杂聚合

c# - Linq 选择具有计算值的投影

c# - LINQ .Where 查询执行时间超过 5 分钟

c# - 非通用声明不允许约束