gpt4 book ai didi

linq - Nhibernate 3 Linq - 内连接

转载 作者:行者123 更新时间:2023-12-04 17:28:09 25 4
gpt4 key购买 nike

我正在测试 nhibernate 3 CR,但无法使用 Linq 创建以下 SQL:

select   *
from Users as {user}
inner join Test as test on test.UserId = user.Id
inner join Release as release on release.TestId = test.TestId
where Release.Status = 1
order by count(release.Status) desc;

我到目前为止还没有,我当前的代码是这样的,给了我一些完全不同的东西:
var users = from user in Session.Query<User>()
join test in Session.Query<Test>() on user.Id equals test.User.Id
join release in Session.Query<Release>() on test.Id equals release.Test.Id
where release.Status == 1
orderby release.Status
descending
select user;

有没有关于如何在 linq 中使用内部联接的资源?我应该怎么做:
order by    count(release.Status)

这是应该用 QueryOver 来完成的事情吗?

最佳答案

首先,在您的模型中定义关系,而不是尝试通过 id 加入。

然后你将能够做到这一点:

from release in session.Query<Release>()
where release.Status == 1
select release.Test.User

缺少的只是 orderby,我认为这是不正确的(您正在尝试按聚合排序,但没有指定 group by)

关于linq - Nhibernate 3 Linq - 内连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4276160/

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