我在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」?
我在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」?
如果您正在使用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
到您的實際的數據類型,如果需要的話)
我知道第一個說法。但不幸的是,我們不使用它。你的第二個解決方案適用於totalSalary,但是如果我們有「Select sum(e.Salary)'爲'TotalSalary',e.DeptId來自Employee e group by e.DeptId」? –
我得到了解決方案。 http://geeks.ms/blogs/ohernandez/archive/2008/01/30/executing-arbitrary-queries-in-linq-to-sql.aspx –
感謝您的幫助。其實我是Linq的新手,但我很快就會學習。 :) –
你有沒有試過在調試時檢查'result'的值? – GolfWolf