Просто интересно, это самый эффективный способ сделать это? Есть ли способ, чтобы все linq внутри одного оператора вместо вызова метода, как подвыбор или что-то?
newEmployee = (from emp
in db.employees
select new
{
a.EmployeeID,
a.Username,
Status = emp.GetEmployeeCurrentStatus(a.Username)
}).ToList();
Это GetEmployeeCurrentStatus, который возвращает статус сотрудника:
public string GetEmployeeCurrentStatus(string username)
{
using (Entities db = new Entities())
{
var times = (from d in db.TimeTables
where d.DateTime == DateTime.Today &&
d.Employee.Username == username
select d)
.OrderByDescending(d => d.TimeID).FirstOrDefault();
return (x.ClockOut == null ? "IN" : "OUT");
}
}