gpt4 book ai didi

c# - 当属性等于 Max 和 NHibernate 时选择对象

转载 作者:可可西里 更新时间:2023-11-01 08:49:33 24 4
gpt4 key购买 nike

我们有一个查询,它根据另一个值选择行,即。最大值我认为这没有多大意义,所以这里是查询:

var deatched = DetachedCriteria.For<Enquiry>("e2")
.SetProjection(Projections.Alias(Projections.Max("Property"), "maxProperty"))
.Add(Restrictions.EqProperty("e2.EnquiryCode", "e.EnquiryCode"));

session.CreateCriteria(typeof(Enquiry), "e")
.Add(Subqueries.PropertyEq("Property", deatched))
.AddOrder(Order.Asc("EnquiryCode"));

我的问题是,这是最好的方法吗?谁能提出更好的方法?

最佳答案

对于聚合,最好使用 SQL 而不是 HQL。仅对主要实体及其关系使用 Nhibernate(非常易于维护的设计)。存储过程是这些聚合和函数的更好位置,因为它们依赖于数据而不是依赖于对象

关于c# - 当属性等于 Max 和 NHibernate 时选择对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/356570/

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