1
List<ps_Employee> _Employees = Employee.GetListOfActiveEmployees();
List<ps_Detail> _Details = Detail.GetListOfDetails();
var _RowDetails = from _Detail in _Details
join _Employee in _Employees on _Detail.EmployeeCode equals _Employee.EmployeeCode select new { Employee = _Employee, Detail = _Detail } into EmployeePayDetail
group EmployeePayDetail by EmployeePayDetail.Detail.EmployeeCode into x
select new
{
EmployeeCode = x.Key,
BasicPay = x.Where(i => i.Detail.ComponentCode.Equals("PE01")).Sum(a => a.Detail.Amount),
OtherIncome = x.Where(i => i.Detail.ComponentCode.StartsWith("PE")
&& !i.Detail.ComponentCode.Equals("PE01")).Sum(a => a.Detail.Amount),
Deductions = x.Where(i => i.Detail.ComponentCode.StartsWith("PD")).Sum(a => a.Detail.Amount),
GrossPay = x.Where(i => i.Detail.ComponentCode.StartsWith("PE")).Sum(a => a.Detail.Amount),
PAYE = x.Where(i => i.Detail.ComponentCode.Equals("PD03")).Sum(a => a.Detail.Amount),
NetPay = x.Where(i => i.Detail.ComponentCode.Equals("PE01")).Sum(a => a.Detail.Amount)
};
随着环类,我可以能够得到下面没有被包含在雇员表的employeename使用的GroupBy获取雇员姓名,雇员,和通过支付使用LINQ
employeeCode EmployeeName PEO1 PD
x001 ????? 200.00 400.00
如何我从上面获取EmployeeName吗?
好把沃尔玛感谢名单。 – mkaris 2011-05-26 14:50:47