Сравнение структуры и даты и времени - PullRequest
2 голосов
/ 27 октября 2011

Можно ли создать запрос linq для поиска всех записей, которые находятся в диапазоне дат?

Например:

У меня есть таблица с VacationStart, VacationEnd - и datetime, и мне нужно найти всеожидаются отпуска до текущей даты.

Я пытаюсь

 context.Vacations..Where(x=> x.VacationStart >= DateTime.Now && x.VacationEnd < DateTime.Now)

, но получаю 0 записей ...

Пример данных 2011-10-27 08: 30: 00.0002011-10-28 17: 00: 00.000

Текущая дата: 2011-10-26 23: 39: 46.297

Где я ошибаюсь?

Спасибо

1 Ответ

1 голос
/ 27 октября 2011

Вы просите отпуск, который начинается после СЕЙЧАС и заканчивается до СЕЙЧАС, Невозможно.попробуйте задать и сравнить время начала и время окончания, которые отличаются и где время начала меньше, чем время окончания.

Предоставляет только текущие отпуска.

var query = context.Vacations.Where(v => v.VacationEnd > DateTime.Now 
   && v.VacationStart < DateTime.Now);

Предоставляет отпуска, которые еще не начались.

var query = context.Vacations.Where(v => v.VacationStart > DateTime.Now);

Предоставляет отпуска, которые выполняются или еще не выполненыначалось.

var query = context.Vacations.Where(v => v.VacationEnd > DateTime.Now);

Последний не фильтрует будущих отпусков.

...