Sto rifattando la query vecchio stile CreateCriteria()
a QueryOver()
. Il servizio My Wcf riceve string PropertyName
per ordinare risultati di query. Per IQueryable
Io uso Dynamic LINQ per fare questo ordinamento, per CreateCriteria()
- AddOrder()
.Nhibere QueryOver. Ordine usando i nomi delle proprietà delle stringhe.
IList<object[]> result =
GetSession()
.QueryOver(() => activity)
.JoinAlias(() => activity.ActivityLicense,() => license)
.Select(Projections.ProjectionList()
.Add(Projections.Count<Activity>(e => e.Id), "ActivityCount")
.Add(Projections.Group(() => license.SerialNumber), "SerialNumber")
.Add(Projections.Count<Activity>(e => e.MacAdress), "MacAddressCount")
.Add(Projections.Count<Activity>(e => e.IpAdress), "IpAddressCount")
)
.OrderByAlias("ActivityCount") // Compilation Error - I need such extension method
.List<object[]>();
Qualche suggerimento su come eseguire l'ordine in caso di nomi di stringhe?
PS: non ho potuto usare LINQ to NHibernate: LINQ to NHibernate - .GroupBy().Skip().Take() cause an exception
Grazie!
Grazie. È possibile riportare ICriteria su IQueryOver? –
Io non la penso così, quello che potresti fare è refactoring in un metodo di estensione IQueryOver. Pubblicherò un esempio ... – dotjoe