0
我有一個SQL數據庫建模這個類。LINQ中檢查可能的空值
Public Class Language
Public Property Name As String
Public Property Articles As List(Of Article)
End Class
Public Class Article
Public Property Dated as DateTime?
End Class
我想語言的列表,也是最後一篇文章
的日期,但我要檢查是否有物品的物品,如果物品有一個有效日期。
查詢的正確方法是什麼?我到目前爲止已經做到了這一點:
Dim query = From x In context.Languages
Order By x.Name
Select New MyViewModel() With {
.Name = x.Name,
.LastArticleDate = If(x.Articles.Count <> 0 AndAlso
x.Articles.OrderByDescending(Function(x) x.Dated).FirstOrDefault IsNot Nothing AndAlso
x.Articles.OrderByDescending(Function(x) x.Dated).FirstOrDefault.Dated.HasValue,
x.Articles.OrderByDescending(Function(x) x.Dated).FirstOrDefault.Dated.Value.ToShortDateString,
String.Empty)
}
爲什麼你在不可空的'DateTime'屬性上檢查'HasValue'屬性? 'Dated'確實是'DateTime?'? – MarcinJuraszek
是的,DateTime可以爲空 – InfoStatus