using System.Collections.Generic;
public static void Main()
var items = new List<Item>
new Item {id = 1, StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(2)},
new Item {id = 2, StartDate = DateTime.Now, EndDate = DateTime.Now.AddMinutes(120)}
var results = items.SelectMany(i =>
Enumerable.Range(0, 1 + i.EndDate.Subtract(i.StartDate).Days)
.Select(offset => new { id = i.id, date = i.StartDate.AddDays(offset).Date})
foreach (var result in results)
Console.WriteLine(result);
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }