当没有找到匹配记录时,下面的 linq 语句会返回异常错误。有什么办法处理吗,请指教,谢谢
AdventureEntities hem = new AdventureEntities ();
Guid productId;
Adventure.Product list= hem.Product .Where(x => x.Product== productId).FirstOrDefault();
当没有找到匹配记录时,下面的 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);