[英]Is there a more compact way to select an element property in LINQ when .FirstOrDefault returns null - without it throwing an exception?
[英]FirstOrDefault throwing exception instead of null
我正在嘗試使用FirstOrDefault
從我的商店獲取商品。 如果它不存在,我希望它返回null
。
我明白FirstOrDefault
應該這樣做。 數據庫不存在,所以我希望它返回null
,除非它導致SQLException
。
為什么這不只是返回null
?
var setting = context.Settings.FirstOrDefault(s => s.ApplicationName == _applicationName && s.Name == name);
SQLException
的事實告訴您,即使向數據庫詢問您要處理的數據,也存在問題。 正如您所說的“數據庫不存在”,我認為SQLException
將由此引起。
FirstOrDefault
很可能甚至沒有執行,因為訪問Settings
屬性已經拋出SQLException
。
這是默認行為,.FirstOrDefault() 在源不存在時拋出異常。 如果源存在,但特定實體不存在,則返回 Null。
https://msdn.microsoft.com/en-us/library/bb340482(v=vs.100).aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.