0

「ベストアワー」、ベストアワー=注文数が最も多い時間を見つけるためにクエリを実行しています。
私は試してみます:

   public void ShowBestHour()
    {
        using (NorthwindDataContext db = new NorthwindDataContext())
        {
            var query=
                from z in db.Order_Details
                select new
                {
                    bestHour = z.Order.OrderDate.Value.Hour.Count()
                }; 
        }
    }

どうすればいいですか?

4

2 に答える 2

1

これを試して:

public void ShowBestHour()
{
    using (NorthwindDataContext db = new NorthwindDataContext())
    {            
        var bestHour = db.Order_Details.GroupBy(x => x.Order.OrderDate.Value.Hour).OrderByDescending(x => x.Count()).Select(x => x.Key).First();
    }
}
于 2013-02-17T13:58:49.363 に答える
0

解決策はlet節を使用することです。

したがって、カウントごとにグループ化し、カウントに let を使用して変数を定義し、このバリアベルで注文します。この質問はあなたのものに似ていました:

LINQ で Count() の Max() を取得する方法

于 2013-02-17T13:44:00.733 に答える