Попробуйте что-то вроде этого:
var result = yourList.GroupBy(item =>
new {Id = item.Id, Date = item.Date.Date});
По существу, DateTime.Date
извлекает информацию о времени.
Чтобы просмотреть результат, вы можете сделать:
foreach(var grp in result)
{
Console.WriteLine("{0}: {1}", grp.Key.Id, grp.Key.Date);
}