ASP.NET MVC Возвращает последнюю запись в таблице для вошедшего в систему пользователя. - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь получить последнюю запись для вошедшего в систему сотрудника в моей таблице HolidayRequestForm.

Однако на основании рекомендаций LINQ To Entities не распознает метод Last.Неужели? Я хочу заказать по убыванию и выбрать первый.

Я пытался добавить в порядке убывания, но я получаю сообщение об ошибке «Ошибка 3» System.Data.TypedTableBaseExtensions.OrderByDescending (System.Data.TypedTableBase, System.Func, System.Collections.Generic.IComparer) '«метод», который недопустим в данном контекстепоследний результат в таблице HolidayRequestForm для текущего зарегистрированного сотрудника

1 Ответ

0 голосов
/ 27 января 2019
db.HolidayRequestForms.OrderByDescending

не имеет смысла по двум причинам.

  1. Это метод, который необходимо вызывать (т.е. иметь () после него)
  2. Вынужно сказать, что заказать по

Я бы предложил это как замену:

var SD = (from c in db.HolidayRequestForms where (c.Employee.Email == name) && (c.Employee.EmployeeID == c.EmployeeID)
                        select c.StartDate).OrderByDescending(z => z);

или:

var SD = db.HolidayRequestForms
    .Where(c => c.Employee.Email == name && c.Employee.EmployeeID == c.EmployeeID)
    .OrderByDescending(z => z.StartDate)
    .Select(y => y.StartDate);

Вы также можете использовать FirstOrDefault вместо LastOrDefault.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...