我正在将旧式查询重构CreateCriteria()
为QueryOver()
. 我的 Wcf 服务可以string PropertyName
订购查询结果。因为IQueryable
我使用动态 LINQ 来进行这样的排序,对于CreateCriteria()
- AddOrder()
。
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[]>();
如果使用字符串属性名称,有什么建议如何进行排序?
PS:我无法使用 LINQ to Nhibernate:LINQ to NHibernate - .GroupBy().Skip().Take() 导致异常
谢谢!