gpt4 book ai didi

c# - 如何创建一个子查询投影,给它一个别名,并使用 Criteria API 在 NHibernate 中按别名排序

转载 作者:行者123 更新时间:2023-11-30 15:46:02 25 4
gpt4 key购买 nike

forum.hibernate.org/viewtopic.php?p=2378849

其中一位发帖人给出了这样的答案:

You need to create a Projection (...), give it an alias and you can then sort by the alias. No time to post the details but I'm pretty sure that would work.

有人可以提供一个简单的示例,使用 Criteria API,一个查询使用 Projection 执行子查询,然后将该子查询用作别名,然后按该别名排序吗?

干杯!

最佳答案

您可以根据需要添加更多 DetachedCriteria。

这是我的示例:

DetachedCriteria sum = DetachedCriteria.For(typeof(MasterAsset), "asset2")
.SetProjection(Projections.Sum("PhysicCondition"));

DetachedCriteria count = DetachedCriteria.For(typeof(MasterAsset), "asset3")
.SetProjection(Projections.Count("PhysicCondition"));

Session.CreateCriteria(typeof(MasterAsset), "asset1")
.SetProjection(Projections.ProjectionList()
.Add(Projections.Property("IDMasterAsset"), "IDAsset"))
.Add(Subqueries.PropertyLt("PhysicCondition", sum))
.Add(Subqueries.PropertyLe("PhysicCondition", count))
.AddOrder(Order.Asc("IDAsset"))
.List();

希望这对您有所帮助。

关于c# - 如何创建一个子查询投影,给它一个别名,并使用 Criteria API 在 NHibernate 中按别名排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4622309/

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