Почему MAX не работает с где в Entity Framework? - PullRequest
0 голосов
/ 14 апреля 2019

Я новичок в EF и пишу это, чтобы выбрать максимальную запись, которая содержит комбинацию.Теперь я хочу выбрать MAX только из этих записей.

        public string GetMaxReportNo(string OfficeStationCombination = "")
        {
            InspectionReport InspectionReport= new InspectionReport();
            string VelosiReportNo="";

            var query = uow.InspectionReportRepository.GetQueryable().AsQueryable();

            if (!string.IsNullOrEmpty(OfficeStationCombination))
            {
                VelosiReportNo = (string)query
                          .Where(x => x.VelosiReportNo.Contains(OfficeStationCombination))
                          .FirstOrDefault().VelosiReportNo.ToString();         
            }

            return VelosiReportNo;
        }

Я попробовал все, чтобы выбрать максимальную InspectionReportID запись в where, но ничего не работает

1 Ответ

3 голосов
/ 14 апреля 2019

Упорядочить по указанному столбцу (inspectionReportID) по убыванию , затем взять первую запись:

VelosiReportNo = (string)query
                          .Where(x => x.VelosiReportNo.Contains(OfficeStationCombination))
                          .OrderByDesc(x => x.inspectionReportID)
                          .FirstOrDefault().VelosiReportNo.ToString(); 
...