0

我想使用 CreateCriteria 从数据库中的一个表中选择一行,其中我知道一列的值,而不是主键,因此会有多行匹配。该表包含更新信息,因此我们有一列包含每一行的版本号,基于该版本号以及我的主要问题给出了一个唯一的行。

我已经尝试了一些可行的方法,但似乎我应该能够使用更好的东西。如果有某种Restriction.Max("Avtal")

var result = Session.CreateCriteria(typeof(Avtal))
.Add(Restrictions.Eq("Avtal", avtal))
.Add(Restrictions.Eq("Versionsnummer", 
Session.CreateCriteria((typeof(Avtal)))
.Add(Restrictions.Eq("Avtal", avtal))
.SetProjection(Projections.Max("version"))
.UniqueResult<int>()))
.List<Avtal>();

任何指向正确方向的指针都会非常有帮助,不,我不想使用 CreateQuery,直接编写 HQL 或类似的东西,我们使用 Criteerias 并希望坚持下去。

谢谢

4

1 回答 1

0

我在寻找同样的东西时遇到了你的问题,后来又遇到了这个问题:

var result = Session.CreateCriteria(typeof(Avtal)) .Add(Order.Desc("Versionsnummer")) // sort it and take the first one .UniqueResult())) .List();

于 2010-06-29T02:35:42.730 回答