我正在尝试显示dateTime.minvalue如果LastLogon日期在我的linq中为null到SQL查询。
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()
它不起作用。如何修复此查询?
我认为问题是来自SQL的NULL DATETIME
,即DateTime?
IN .NET。如果您使用Null Colescence
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()
编辑
我更新了答案以使null合并if()返回 System.Data.SqlTypes.SqlDateTime.MinValue
而不是.net等效。