Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 实体框架选择分组依据和总和_Asp.net Mvc_Entity Framework_Ef Code First - Fatal编程技术网

Asp.net mvc 实体框架选择分组依据和总和

Asp.net mvc 实体框架选择分组依据和总和,asp.net-mvc,entity-framework,ef-code-first,Asp.net Mvc,Entity Framework,Ef Code First,我正在使用ASP.NET和EF codefirst。 我想通过linq查询找到最畅销的产品 这是我销售的产品型号 public class FactorItem { public int Id { set; get; } public int ProductId { set; get; } public int Count { set; get; } } 您必须按ProductId分组,然后对计数求和,并取和最大的组: var

我正在使用ASP.NET和EF codefirst。
我想通过linq查询找到最畅销的产品 这是我销售的产品型号

 public class FactorItem
    {
        public int Id { set; get; }
        public int ProductId { set; get; }
        public int Count { set; get; } 
    }

您必须按ProductId分组,然后对计数求和,并取和最大的组:

var factorItems = DbContext.FactorItems
                           .GroupBy(f => f.ProductId)
                           .OrderByDescending(g => g.Sum(f => f.Count))
                           .FirstOrDefault()
                           .Key;

您可以使用linq来查找结果

using(ctx = new Context())
{
   var maxValue = ctx.FactorItem.Max(e => e.Count);
   var result = ctx.FactoItem.Where(e => e.Count == maxValue);
}