2014-04-02 44 views
0
public ActionResult NoOfLeaves() 
{ 
string CurrentUserID = User.Identity.GetUserId(); 
var result = (from u in db.LeaveTypes 
join s in db.LeaveDetails 
on new { id = u.LeaveTypeID } equals new { id = s.LeaveTypeID} 
join user in db.Users 
on new { id = s.EmpID } equals new { id = user.Id } 
where user.Id == CurrentUserID 
select new noOfLeavesView 
    { 
    EmployeeID = user.Id, 
    EmployeeName = user.Name, 
    LeaveTypeName = u.LeaveTypeName, 
    Issued = u.NoOfLeaves 

    });        
return View(result); 
} 

離開類型包含葉醫學等類型。 「離開詳細信息」包含用戶使用的樹葉歷史。 我想知道用戶應用了多少片醫用葉片。計算列的元素數

+0

你的意思是你想按列和計算的結果? – nvoigt

+0

是...! @nvoigt –

+0

你需要更精確一點。一般來說,你可以使用'.GroupBy()'。你能提供樣本輸入和樣本預期輸出嗎? – nvoigt

回答

0
public ActionResult NoOfLeaves() 
{ 
var result = (from u in db.LeaveTypes 
join s in db.LeaveDetails 
on new { id = u.LeaveTypeID } equals new { id = s.LeaveTypeID } 

select new noOfLeavesView 
{ 
LeaveTypeName = LeaveTypeId.LeaveTypeName, 
Issued = u.NoOfLeaves, 
Availed = (db.LeaveDetails.Where(i=>i.LeaveTypeID.Equals(s.LeaveTypeID)).Count()), 
}).Distinct(); 


      return View(result); 
     } 

從這樣我得到所要求的結果...