Ich Refactoring alten Stil Abfrage CreateCriteria()
zu QueryOver()
. Mein Wcf-Dienst erhält string PropertyName
, um Abfrageergebnisse zu bestellen. Für IQueryable
benutze ich Dynamic LINQ, um solche Bestellung zu tun, für CreateCriteria()
- AddOrder()
.Nhibernate QueryOver. Sortierung nach String-Eigenschaftsnamen.
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[]>();
Irgendwelche Vorschläge, wie man im Fall mit Zeichenfolgeneigenschaftsnamen bestellt?
PS: LINQ to NHibernate - .GroupBy().Skip().Take() cause an exception
Dank: Ich LINQ nicht Nhibernate verwenden könnte!
Danke. Ist es möglich, ICriteria zurück zu IQueryOver zu machen? –
Ich denke nicht, was Sie tun könnten, ist dies in eine IQueryOver-Erweiterungsmethode umzuwandeln. Ich poste Beispiel ... – dotjoe