使用实体框架的年,月,日平均值

时间:2018-07-14 12:29:40

标签: entity-framework average

我在SQL Server中有一个如下表

Id  Year  Month RecDate
1   2018  7     7/1/2018
2   2018  7     7/2/2018
3   2018  7     7/3/2018
4   2018  8     8/1/2018
5   2018  8     8/1/2018
6   2018  8     8/1/2018
7   2018  8     8/2/2018
8   2018  9     9/10/2018
9   2018  9     9/10/2018
10  2018  9     9/10/2018

我已经编写了以下EF代码来获取年度平均值,但我认为应该有一种更好的方法来将其平均化,如下所示:

我想要以下内容 年平均= 10

每月平均值= 3.3或3

每日平均值= 1.6

  var data = _context.vIntakes.ToList();

        var data1 = data.GroupBy(x => new
        {
            x.Year
        })
         .Select(g => new
         {
             Year = g.Key.Year,
             Cases = g.Count(m => m.Id >= 1)
         });

        int? cases = 0;
        int? years = 0;
        float? avgcases = 0;
        foreach(var item in data1)
        {
            years = years + 1;
            cases = cases + item.cases;
        }
        avgcases = cases / years;

0 个答案:

没有答案