如果我的Linq to SQL查询中的LastLogon Date为null,我试图显示Datetime.Minvalue。
Dim ExtUsrsQry =
(From qryItem In dc1.ExternalUserAccesses
Where qryItem.QuarterId = GetCurrentQuarterId()
Select Id = qryItem.Id,
LastLogonDate = IIf((qryItem.LastLogonDate.HasValue), Convert.ToDateTime(qryItem.LastLogonDate).ToShortDateString(), DateTime.MinValue.ToShortDateString())
).ToList()
它不起作用。如何解决此查询?
答案 0 :(得分:0)
我认为问题在于来自SQL的NULL DATETIME
,这是.Net中的DateTime?
。如果使用null coalescence
Dim ExtUsrsQry =
(From qryItem In dc1.ExternalUserAccesses
Where qryItem.QuarterId = GetCurrentQuarterId()
Select Id = qryItem.Id, LastLogonDate = If(qryItem.LastLogonDate, System.Data.SqlTypes.SqlDateTime.MinValue)
).ToList()
编辑
我更新了答案,以使空合并的If()返回System.Data.SqlTypes.SqlDateTime.MinValue
而不是等效的.Net。