2016-01-17 48 views
1

我從數據庫中獲取最大代碼,但在沒有記錄時應如何處理?它返回錯誤的空引用沒有記錄如何在實體框架中處理空值?

int maxCode = context.Persons.Max(p => p.pCode); 

編輯:

這個答案是檢查第一次空值,當你部署應用其他明智的建議的答覆只匹配條件與ID,但我沒有想比賽條件我只需要檢查天氣有無記錄

+1

的可能的複製[最大的返回值是否爲空查詢](http://stackoverflow.com/questions/6966680/max-return-value-if-empty-query) –

+1

使用'DefaultIfEmpty' - 有這個問題很多重複。 –

回答

2

如果沒有行,則maxCode設置爲零。

int maxCode = context.Persons.Any() ? context.Persons.Max(p => p.pCode) : 0; 
+0

'context.Entry(P).GetDatabaseValues();'但爲什麼這不是讓我在數據庫中插入了第一次當數據庫沒有任何價值 –

+0

GetDatabaseValues不能用於在增加國家實體。 –