I have this SQL here, which should be passed to the NHibernate Criteria API:
select nn.* from NetworkNumber nn
inner join
(select number, max(Version) ver
from NetworkNumber
group by number) b on b.number=nn.number
and b.ver=nn.version
If anyone has a good knowledge of this, I will greatly appreciate it. At the same time - I will continue to try and publish the results (if any) ..
Edit: so far I have this:
var results = StagingSessionFactory.OpenSession()
.CreateCriteria<NetworkNumber>()
.SetProjection(
Projections.ProjectionList()
.Add(Projections.Property("Number"), "Number")
.Add(Projections.Max("Version"), "Version")
.Add(Projections.GroupProperty("Number"), "Number")
)
.SetResultTransformer(Transformers.AliasToBean(typeof(NetworkNumber)))
.List<NetworkNumber>();
Which gives me the correct version / number of NetworkNumber, but I need the rest of the fields (Id, etc.). Maybe something is missing for me?
source
share