String Date = "17/3/2015"; DateTime StartDate = Convert.ToDateTime(Date); DateTime EndDate = DateTime.Now.AddDays(1); var users = from A in Sessions where (A.StartDate >= StartDate && A.StartDate < EndDate) select new {A.SessionKey,A.StartDate,A.EndDate,A.UserId}; List report = new List(); report.Add(new ConnectedUser(StartDate,users.ToList().GroupBy(u=>u.UserId).ToList().Count())); Console.WriteLine(report); } public class ConnectedUser { public DateTime Date; public int UsersConnected; public ConnectedUser(DateTime Date,int UsersConnected) { this.Date = Date; this.UsersConnected = UsersConnected; }