gpt4 book ai didi

NHibernate 使用过滤器选择最大值

转载 作者:行者123 更新时间:2023-12-03 11:22:15 25 4
gpt4 key购买 nike

我正在尝试从表中获取最大值,执行如下操作:

        SELECT max(re.Sequence) FROM MyTable re WHERE re.ItemId = :itemId

所以我可以为每个 itemId 获得列 Sequence 的最大值。

尝试使用 createQuery 但没有奏效:
        string hql = @"SELECT new Int32(max(re.Sequence) FROM MyTable re WHERE re.Item.Id = :itemId";
List<Int32> lista = session
.CreateQuery(hql)
.SetParameter("itemId", idItem)
.List<Int32>()
.ToList();

任何帮助将不胜感激。

此致。

最佳答案

使用标准语法:

var criteria = session.CreateCriteria<MyTable>();
criteria.Add(Restrictions.Eq("ItemId", itemId));
criteria.SetProjection(Projections.Max("Sequence"));
var max = criteria.UniqueResult<int>();

使用查询语法:
var max = session.QueryOver<MyTable>().Where(x => x.ItemId.Equals(itemId)).Select(
Projections.Max<MyTable>(x => x.Sequence)).SingleOrDefault<int>();

关于NHibernate 使用过滤器选择最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15790749/

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