1
我有一個Employee表與下面要說的記錄SUM和DISTINCT兩個不同的列
EmpID Salary Date
10 2000 1/1/2011
10 2000 2/1/2011
20 2000 1/1/2011
我想指望員工總人數和工資總額(根據其他一些參數)
的是否有一種簡單的方法在實體框架中編寫以下SQL查詢。
select Sum(Salary), count(distinct(EmployeeID)) from empdb.employeesalary (where clause)
有一個類進我需要選擇這些值
class EmployeeEntity
{
decimal TotalAmount;
int EmployeeCount
}
我現在做兩個查詢在EF如下
objectcontext.employeesalary.Sum(c => c.Salary);
objectcontext.employeesalary.Select(c => c.EmployeeID).Distinct().Count();
如何合併這些到一個單一的聲明使用實體框架。我在這裏錯過了什麼。
該查詢工作得很好。但是,當我看着使用tracestring生成的SQL(示例 - ((System.Data.Objects.ObjectQuery)mainQuery).ToTraceString();)它給了我一個複雜的SQL查詢,並帶有多個選擇和區別。這是正常的嗎? – user275157
這對於LINQ來說相當標準。 SQL查詢處理器*可能*能夠優化查詢以產生有效的計劃。否則,你被困在手寫SQL。 –