0

LINQ to NHibernate を使用すると、同じ式で group by と order by を使用する方法を誰もが知っています。グループをリストに実行してから、これを注文する必要があります。ここに何かが欠けているようです???

例:-

Private function LoadStats(...) ...
  Dim StatRepos As DataAccess.StatsExtraction_vwRepository = New DataAccess.StatsExtraction_vwRepository

  return (From x In StatRepos.GetAnswers(Question, Questionnaire) _
              Group x By xData = x.Data Into Count() _
              Select New ChartData 
                   With {.TheData = xData, 
                         .TheValue = xData.Count}
         ).ToList.OrderBy(Function(x) x.TheData)

End Sub
4

1 に答える 1

1

私は Visual Basic の専門家ではありませんが、Select句でエイリアスを使用して一時変数を作成できるはずOrder Byです。NHibernate に何らかの制限がない限り、次のように動作するはずです。

return From x In StatRepos.GetAnswers(Question, Questionnaire) _ 
       Group x By xData = x.Data Into Count() _ 
       Select res = New ChartData With _
         { .TheData = xData,  _
           .TheValue = xData.Count } _
       Order By res.TheData _
       Select res

場合によっては、Order By句を句の前に移動するよりも読みやすいと思いSelectます。

于 2010-03-24T16:19:40.263 に答える