0
我有2個表Employee和Absence。我想做一個左外連接,這樣我就可以獲得所有員工和任何相關的缺席。在LINQ2SQL我可以使用以下方法來創建LEFT OUTER JOIN:如何在LinqToSql中使用LEFT OUTER JOIN時處理DateTime字段
from e in Employees
join a in Absences on e.EmployeeID equals a.EmployeeID into ae
from x in ae.DefaultIfEmpty()
select new { FullName = e.Surname + ", " + e.Forename }
這就是我要找的,但我想說明任何情況下開始日期。我可以將選擇語句更改爲
select new { FullName = e.Surname + ", " + e.Forename, x.StartDate }
但我得到一個錯誤,因爲DateTime不可爲空。 如果沒有StartDate或實際日期(如果有),我該如何顯示空字符串?我試着用x.StartDate.ToShortDateString(),但是這顯然拋出,如果它是空的錯誤,我也試着:
select new {Surname = e.Surname, StartDate = x.StartDate == null ? "" : x.StartDate }
但這也不管用。有什麼建議麼?
不知道它是否會工作,通過嘗試使用明確的演員表: select new {StartDate =(DateTime?)x.StartDate} – LorenVS 2009-12-07 11:29:16