2017-10-05 11 views
0

を使用して生成されたビューの表示データ私は、合計病気休暇を示すだろうビューを生成したいとASP.NET MVC、EFおよびSQL Server 2014のasp.net mvc5、生SQL:集約関数

を使用しています年間従業員IDを持つ従業員を離れる。 LINQクエリが非常に複雑で、Asp.net MVCで使用する方法がわかりません。私はこの目的のためのコントローラを書いたので、このデータをビューにどのように表示するかわかりません。

私にこれを手伝ってください。これを行うより良い方法がある場合、または私が間違いを犯している場合は、私に知らせてください。

SQLクエリーは以下の通りである:AssignLeaves.Where(S => s.EmployeeId == 1 & &秒のデータから

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'のviewmodelプロパティを使って結果を表示することができます。ビューコードとコントローラアクションの例を表示できますか? –

+0

私は、データベースからこれらの2つのレコードをすべて表示するだけです。これは、EF ASP.Net EntityFrameworkで集計関数を使用してデータベースからデータを取得する方法を知りたい場合に表示することです。 –

+0

このクエリ結果を表示しますか? –

答えて

0

//コントローラ側
VARデータ=。 LeaveTypeId == 4)
データでグループ化するデータ。従業員IDを
新規選択
{
EmployeeId = g.Key、
Total_Annual_Leave = g.Sum(x => x.AssignedLeaveDay)
};

VAR SickLeaveData = data.EmployeeIdによってAssignLeaves.Whereのデータ(S => s.EmployeeId == 1 & & s.LeaveTypeIdの== 5)
群データからG
に新しい
{
を選択 EmployeeId = g.Key、
Total_Sick_Leave = g.Sum(x => x.AssignedLeaveDay)
}};

あなたはTotal Annual leaveを次の方法で取得します:Data.FirstOrDefault()。Total_Annual_Leave;
Total_Sick_Leaveを取得するには、次のようにします。SickLeaveData.FirstOrDefault()。Total_Sick_Leave;

+0

回答をありがとうが、私はasp.net mvc codを完了する必要があります。私はpublickでコードする方法を意味します。どのモデルまたはviewmodelをインデックスビューに渡すべきですか? –