【发布时间】:2014-09-01 13:46:22
【问题描述】:
请帮忙,我可以通过 nhibernate 查询吗?
select max(Id) from transTable
group by PortfolioId.
我试过了。
var subquery = QueryOver.Of(() => q)
.SelectList(list => list.SelectGroup(() => q.PortfolioId))
.Where(Restrictions.EqProperty(
Projections.Property(() => p.Id),
Projections.Max(() => q.Id)))
.And(Restrictions.EqProperty(
Projections.Property(() => p.Id),
Projections.Property(() => q.Id)));
然后
var filter = QueryOver.Of(() => p)
.WithSubquery.WhereExists(subquery)
.Select(Projections.Property(()=>p.Id));
但它不起作用。它返回表中的所有数据。我只想从每个用户那里获取最后的序列 ID。
请帮忙。谢谢
【问题讨论】:
标签: c# .net nhibernate subquery queryover