Linq 语句在找不到记录时返回错误
本文关键字:返回 错误 记录 找不到 语句 Linq | 更新日期: 2023-09-27 18:33:29
下面的 linq 语句在未找到匹配记录时返回异常错误。有没有办法处理这个?,请指教,谢谢
AdventureEntities hem = new AdventureEntities ();
Guid productId;
Adventure.Product list= hem.Product .Where(x => x.Product== productId).FirstOrDefault();
不,这不应该引发异常。但是,它将list
设置为null
- 因为当没有结果时,这就是FirstOrDefault
所做的。
如果随后取消引用list
,则会得到一个NullReferenceException
。您可以通过先检查无效性来避免这种情况:
if (list != null)
{
// Use the list
}
另请注意,您可以使用接受谓词的 FirstOrDefault
重载来使代码更简单:
var list = hem.Product.FirstOrDefault(x => x.Product== productId);