在LINQ中查找2列的乘积和

时间:2016-01-01 06:49:35

标签: c# linq

在LINQ中找出2列产品的总和

我有educationprogram个对象列表,其中包含2个属性NOOfPerson& Hours

我想要2个属性的产品总和

SUM[NOOfPersons*Hours] 

如何为此编写LINQ查询?

List<educationprogram> edu = (from e in dbContext.educationprograms
                              where e.YearId == 2015
                              select e).ToList();

这将返回我必须使用的对象列表。但是如何返回SUM[Col1*Col2]

2 个答案:

答案 0 :(得分:9)

如果两列在educationprograms表下,则:

var sum = dbContext.educationprograms.Sum(ep => ep.NoOfPeople * ep.Hours);

您还可以添加Where子句:

var sum2 = dbContext.educationprograms.Where(e => e.Year == 2015).Sum(ep => ep.NoOfPeople * ep.Hours);

答案 1 :(得分:0)

var edu=  from e in dbContext.educationprograms
          where e.YearId == 2015
          select new
           {
             sum = e.NoofPersons*e.Hours
           }).ToList();

现在edu是noofperson列和小时列的产品列表。