2011-07-10 10 views
0

をGROUPBY:LINQクエリは、私はそれが特定の月の日で取得データをグループ化することで動作LINQツーSQLクエリを持って

var Output = from c .... 
      where .... // this is the month parameter 
      group c by c.TheTime.Date into daygroups 
      select new MyModel(){ 

       Prop1 = (from x in daygroups 
         where.... 
         select x.ID).Count() 
}.ToList(); 

問題があるという点で、日時によって、このグループサーバー時間の私は、カリフォルニア時間の結果を見ているなら、PSTの真夜中に始まる日のリストを実際に見ているように、それらを時間間隔でグループ化したいと思います。

クエリはカウントを返します。私が今解決した解決策は、特定のタイムゾーンで月の初めと終わりの間にすべての生データを戻し、正しいタイムゾーンで日単位の生データを並べ替えてから、 。

これを行うより良い方法はありますか?

答えて

0

グループ化を試してください。c.TheTime.Date.AddHours(-8)
しかし、正しく動作するかどうかはわかりません。

+0

うまくいかないようです:「datepartミリ秒は日付関数dateaddでデータ型の日付をサポートしていません」と表示されます。例外。私は要求された時間枠の項目の全履歴を照会し、linq-to-SQLを使用してグループ化とカウントを行います。 1日あたり約300のアイテムが存在する可能性があります。生データを照会するためにサーバー上のグループの数を行うのは大まかにどのようなパフォーマンスが低下するでしょうか? – frenchie

関連する問題