这是控制器:
int id = 1;
var book = db.books.Where(r => r.bookid == id).First();
string onebook = book.bookid.ToString();
if(onebook != null)
{
return Content(onebook);
}else
{
return Content("Noting");
}
如果有值id(在数据库内),它将产生并显示值
但是如果有无效值或null我没有得到自定义错误,而是我得到了错误:
序列不包含元素
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.InvalidOperationException:Sequence不包含任何元素
答案 0 :(得分:1)
使用FirstOrDefault
代替First
,如果序列不包含任何元素,则返回默认值。
var book = db.books.Where(r => r.bookid == id).FirstOrDefault();
甚至更简单:
var book = db.books.FirstOrDefault(r => r.bookid == id);