0

当没有找到匹配记录时,下面的 linq 语句会返回异常错误。有什么办法处理吗,请指教,谢谢

AdventureEntities hem = new AdventureEntities ();
Guid productId;

Adventure.Product list= hem.Product .Where(x => x.Product== productId).FirstOrDefault();
4

1 回答 1

4

不,那不应该抛出异常。但是,它将设置listnull- 因为FirstOrDefault当没有结果时会这样做。

如果你然后取消引用list,你会得到一个NullReferenceException. 您可以通过首先检查无效性来避免这种情况:

if (list != null)
{
    // Use the list
}

另请注意,您可以使用FirstOrDefault接受谓词的重载来简化代码:

var list = hem.Product.FirstOrDefault(x => x.Product== productId);
于 2013-10-02T06:29:25.873 回答