2012-10-14 61 views
0

我在SQL查詢中使用聚合函數,我想在LINQ到SQL的結果。LINQ到SQL ExecuteQuery的聚合函數

我的查詢是:

string sql = "Select sum(e.Salary) as 'TotalSalary' from Employee e"; 

,我使用LinqToSql得到TotalSalary。

IEnumarable result = DBContext.ExecuteQuery(sql); 

如何從結果中獲得「TotalSalary」?

+0

你有沒有試過在調試時檢查'result'的值? – GolfWolf

回答

1

如果您正在使用LINQ2SQL,你可以簡單地做:

var totalSalary = DBContext.Employee.Sum(e => e.Salary) 

或者,使用自定義SQL的方式,這是怎麼可能的工作:

string sql = "Select sum(e.Salary) from Employee e"; 
var totalSalary = DBContext.ExecuteQuery<decimal>(sql).Single(); 

(調整decimal到您的實際的數據類型,如果需要的話)

+0

我知道第一個說法。但不幸的是,我們不使用它。你的第二個解決方案適用於totalSalary,但是如果我們有「Select sum(e.Salary)'爲'TotalSalary',e.DeptId來自Employee e group by e.DeptId」? –

+0

我得到了解決方案。 http://geeks.ms/blogs/ohernandez/archive/2008/01/30/executing-arbitrary-queries-in-linq-to-sql.aspx –

+0

感謝您的幫助。其實我是Linq的新手,但我很快就會學習。 :) –