Использование Predicate Builder
Напишите ваш запрос без условия даты, например
var query = leadsNewAndScheduled.Where(lead =>
(LeadTypeIDs.Contains(lead.TYPE_ID.ToString()) ||
LeadTypeIDs == string.Empty) && ....
Затем напишите
var predicate = PredicateBuilder.False<Lead>();
foreach (DateTime date in dates)
{
DateTime temp = date;
predicate = predicate.Or (p => p.START_TIME == temp);
}
var result = query.Where(predicate).ToList(); // Don't call ToList() earlier
Однако обратите внимание, чтоесли вы используете Entity Framework, вам нужно вызвать AsExpandable () для набора сущностей, прежде чем применять к нему предикаты, например:
return objectContext.Products.AsExpandable().Where (predicate);