Давайте посмотрим правде в глаза, ваш код беспорядок (сказано с добрыми намерениями).
если вы используете что-то снова и снова, создайте для него псевдоним
var date = PayPeriodStartPicker.SelectedDate.Value;
Кроме того, сравнение дат по дням , месяцу и году по отдельности не является правильным способом сделать это
Если я понимаю, что вы хотите, то, вероятно, все ваше выражение может быть разбито следующим образом
workDays.Time >= date &&
workDays.Time <= date &&
workDays.Employee == ID.ID
Если вам нужно игнорировать время , я предлагаю использовать EntityFunctions.TruncateTime
и DateTime.Date
методы;