古いスタイルのクエリCreateCriteria()
を にリファクタリングしていますQueryOver()
。私の Wcf サービスはstring PropertyName
、クエリの結果を並べ替えることができます。IQueryable
私はDynamic 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() は例外を引き起こします
ありがとう!