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 回答