gpt4 book ai didi

c# - 如何使用 nhibernate 和 LINQ 将多个连接(获取)添加到连接表?

转载 作者:行者123 更新时间:2023-11-30 18:06:42 25 4
gpt4 key购买 nike

我有这些表/实体

VacationRequestDate 表有一个 VacationRequestId 字段链接到 VacationRequest
VacationRequestPersonIdRequestStatusId 字段链接到 PersonRequestStatus

到目前为止我有这个查询:

IEnumerable<VacationRequestDate> dates = Session.Query<VacationRequestDate>().Fetch(r => r.VacationRequest).ThenFetch(p=>p.RequestStatus).ToList();

这工作正常并加入 VacationRequest 然后 VacationRequest 加入 RequestStatus 但我不知道如何添加额外的 EAGER加入 VacationRequest 表。

如果我在末尾添加一个Fetch,它指的是VacationRequestDate
如果我在末尾添加一个ThenFetch,它指的是RequestStatus

我找不到任何将 VacationRequest 表作为引用点的 API。

如何使用 nhibernate LINQ 将多个连接添加到连接表?

最佳答案

虽然由于额外的连接不是 100% 最佳,但这是有效的:

Session.Query<VacationRequestDate>()
.Fetch(r => r.VacationRequest).ThenFetch(p => p.RequestStatus)
.Fetch(r => r.VacationRequest).ThenFetch(p => p.Person)

其他查询方式(HQL、Criteria、QueryOver 不清楚)没有这个限制。

关于c# - 如何使用 nhibernate 和 LINQ 将多个连接(获取)添加到连接表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4578547/

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