我有一個簡單的LINQ從表中獲取最大價值LINQ的最大:演員到價值型「System.Decimal」失敗,因爲物化值爲null
decimal? taskId = dbContext.My_Tasks.Max(m=> m.TaskId)
它正常工作時,表中有至少一個記錄,但是當表是空的,它返回演員陣容價值型「System.Decimal」失敗,因爲物化值爲null
現在的問題是:如何在表檢查只是一個Linq的有記錄返回最大ID?
我有一個簡單的LINQ從表中獲取最大價值LINQ的最大:演員到價值型「System.Decimal」失敗,因爲物化值爲null
decimal? taskId = dbContext.My_Tasks.Max(m=> m.TaskId)
它正常工作時,表中有至少一個記錄,但是當表是空的,它返回演員陣容價值型「System.Decimal」失敗,因爲物化值爲null
現在的問題是:如何在表檢查只是一個Linq的有記錄返回最大ID?
你或許可以使用DefaultIfEmpty
,在你的情況下,值爲1。喜歡的東西:
dbContext.My_Tasks.Select(m => m.TaskId).DefaultIfEmpty(1).Max()
這將產生一個集合爲1的值,如果沒有工作,與1 Max
是,好了,1
其轉換爲decimal?
max()
之前荷蘭國際集團它:
decimal? taskId = dbContext.My_Tasks
.Cast<int?>()
.Max();
如果沒有記錄,我需要1的結果 –