2017-10-05 34 views
0

生成視圖中顯示的數據我使用ASP.NET MVC,EF和SQL Server 2014asp.net mvc5,原始SQL:使用聚合函數

我要生成一個視圖是否顯示總病假年假離職員工身份證號碼。我發現LINQ查詢非常複雜,我不知道如何在Asp.net MVC中使用它。我爲此寫了一個控制器,現在我不知道如何在視圖中顯示這些數據。

請幫我這個。如果還有更好的方法或者我犯了錯誤,請告訴我。

SQL查詢下面:

SELECT 
    [EmployeeId], SUM(AssignedLeaveDay) AS Total_Annual_Leave  
FROM 
    AssignLeaves 
WHERE 
    [EmployeeId] = 1 AND LeaveTypeId = 4 
GROUP BY 
    [EmployeeId] 

SELECT 
    [EmployeeId], SUM(AssignedLeaveDay) AS Total_Sick_Leave  
FROM 
    AssignLeaves 
WHERE 
    [EmployeeId] = 1 AND LeaveTypeId = 5 
GROUP BY 
    [EmployeeId] 

enter image description here

+0

您可以使用視圖模型的屬性,'ExecuteReader'&'DataTable'顯示在查看結果,可以顯示視圖這樣做的代碼與控制器操作的例子嗎? –

+0

我只想鑑於這就是我想知道如何從數據庫中檢索使用聚合函數與EF ASP.Net的EntityFramework數據,並將其顯示在視圖 –

+0

要顯示在視圖此查詢的結果顯示從數據庫中這兩個記錄? – 2017-10-05 05:01:57

回答

0

//控制器側
從數據VAR數據=在AssignLeaves.Where(S => s.EmployeeId == 1 & &秒。 LeaveTypeId == 4)
group data by data.EmployeeId into g
select new
{
EMPLOYEEID = g.Key,
Total_Annual_Leave = g.Sum(X => x.AssignedLeaveDay)
};

VAR SickLeaveData =從AssignLeaves.Where數據(S => s.EmployeeId == 1 & & s.LeaveTypeId == 5)
組由data.EmployeeId數據轉換成克
選擇新
{
EmployeeId = g.Key,
Total_Sick_Leave = g.Sum(x => x.AssignedLeaveDay)
};

你得到總年假是:Data.FirstOrDefault()Total_Annual_Leave。
通過SickLeaveData.FirstOrDefault()。Total_Sick_Leave獲得Total_Sick_Leave;

+0

感謝您的答覆,但我需要完成asp.net的MVC鱈魚我的意思是如何在publick的ActionResult指數()的模型或視圖模型我應該通過索引視圖代碼 –