Single()
говорит, что должен быть одним элементом в результате, и, если их более одного, выдается исключение.Вероятно, вы ищете First()
или FirstOrDefault()
, если есть вероятность, что вообще не будет результатов (в этом случае возвращается ноль)
Если вы можете быть уверены, что всегда будетбыть элементом, попробуйте это:
DateTime lastDate = db.WeatherTables.OrderByDescending (w => w.ObservationTime).Select(w => w.ObservationTime).First();
return lastDate.AddHours(1) <= DateTime.Now;
В противном случае что-то вроде
DateTime? lastDate = db.WeatherTables.OrderByDescending (w => w.ObservationTime).Select(w => w.ObservationTime).FirstOrDefault();
return lastDate.HasValue ? lastDate.AddHours(1) <= DateTime.Now : false;
Если конечно ObservationDate объявлен как DateTime?