我在C#創建的兩個實體(簡化):LINQ:從空列表顯示結果
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; }
}
我使用以下代碼來初始化的對象:
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),
};
下面的方法用於獲取日期日誌:
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,
};
上述LINQ查詢的結果是:
/*
Date | Clock In | Clock Out
01/01/2010 | 09:00 | 12:00
*/
我的問題是,重寫上面的LINQ查詢以包含我創建的第二個對象(Log2)的結果的最佳方式是什麼,因爲它有一個空列表。換句話說,即使他們沒有時間值,我也想顯示所有日期。
預期的結果將是:
/*
Date | Clock In | Clock Out
01/01/2010 | 09:00 | 12:00
02/01/2010 | |
*/
你需要發佈'executeQuery'函數......因爲這是所有重要的東西都在這裏發生的地方。 – 2010-04-06 21:21:16
是否有條目和日誌之間的連接? – Nix 2010-04-06 21:23:49