Вы могли бы сделать метод расширения, как это:
public static IEnumerable<DateTime> DaysUpTo(this DateTime startDate, DateTime endDate)
{
DateTime currentDate = startDate;
while (currentDate <= endDate)
{
yield return currentDate;
currentDate = currentDate.AddDays(1);
}
}
Затем вы можете использовать его как это:
DateTime Today = DateTime.Now;
DateTime NextWeek = DateTime.Now.AddDays(7);
var weekDays = Today.DaysUpTo(NextWeek).ToList();
Или на примере, который вы использовали:
DateTime start = new DateTime(2010, 1, 1);
DateTime maxDate = new DateTime(2010, 1, 11);
List<DateTime> allDays = start.DaysUpTo(maxDate).ToList();
Редактировать:
Если вы действительно хотите реализацию LINQ это будет работать тоже:
DateTime start = new DateTime(2010, 1, 1);
DateTime maxDate = new DateTime(2010, 1, 11);
List<DateTime> allDays = Enumerable
.Range(0, 1 +(maxDate - start).Days)
.Select(d=> start.AddDays(d))
.ToList();
Что «с помощью SQL в объект» означает? LINQ to SQL? – Ani
Упс ... извините. Это моя ошибка –