I created two objects (simplified) in C #:
class Log { entries = new List<Entry>(); DateTime Date { get; set; } IList<Entry> entries { get; set; } } class Entry { DateTime ClockIn { get; set; } DateTime ClockOut { get; set; } }
I use the following code to initialize objects:
Log log1 = new Log() { Date = new DateTime(2010, 1, 1), }; log1.Entries.Add(new Entry() { ClockIn = new DateTime(0001, 1, 1, 9, 0, 0), ClockOut = new DateTime(0001, 1, 1, 12, 0, 0) }); Log log2 = new Log() { Date = new DateTime(2010, 2, 1), };
The method used below is used to get date logs:
var query = from l in DB.GetLogs() from e in l.Entries orderby l.Date ascending select new { Date = l.Date, ClockIn = e.ClockIn, ClockOut = e.ClockOut, };
The result of the above LINQ query:
/* Date | Clock In | Clock Out 01/01/2010 | 09:00 | 12:00 */
My question is how best to rewrite the LINQ query above to include the results of the second object I created (Log2), since it has an empty list. In other words, I would like to display all dates, even if they do not have time values.
Expected Result:
/* Date | Clock In | Clock Out 01/01/2010 | 09:00 | 12:00 02/01/2010 | | */
c # linq
Douglas hm
source share