Похоже, что условие Where
ничего не соответствует. Поскольку вы ищете ID (которые, как я полагаю, являются целыми числами), я предлагаю вам проверить структуру моделей / базы данных на предмет отсутствия ограничений. Кроме того, поскольку вы ищете результат Max
, я думаю, что их может быть много, но если в конечном итоге это не так, вы можете рассмотреть возможность использования SingleOrDefault(...)
или FirstOrDefault(...)
вместо Where(...).Max(...)
. В любом случае, чтобы решить проблему с вашим кодом на данный момент, вы можете либо проверить, есть ли совпадение, прежде чем что-то делать, например,
if (db.Emplooyee_Attendance.Any(a => a.Employee_ID == item.Id))
{
var Emp_Attendance_ID = db.Emplooyee_Attendance.Where(a => a.Employee_ID == item.Id)
.Max(p => p.Attendance_ID);
// Rest of your code...
}
else
// Do something different?
или вы можете присвоить результат Where
переменной и проверить его, так как это IEnumerable
, например
IEnumerable<int> result = db.Emplooyee_Attendance.Where(a => a.Employee_ID == item.Id);
if (result.Count() > 0)
{
int Emp_Attendance_ID = result.Max(p => p.Attendance_ID);
// Rest of your code...
}
else
// Do something different?