美好的一天,我正在尝试将我的ASP.NET MVC3应用程序部署到我的网络服务器。这就是我所做的:
customErrors mode="On"
添加到web.config 以下是我得到的错误:
抱歉,处理您的请求时出错。
System.InvalidOperationException:转换为值类型'Int32' 失败,因为具体化值为null。要么结果 type的泛型参数或查询必须使用可空类型。
以下是我要求的网页的代码:
public ActionResult Index()
{
ViewBag.Message = "Last game is #" + this.getLastGameId();
return View();
}
public int getLastGameId()
{
using (HockeyStatsEntities context = new HockeyStatsEntities())
{
return context.Dim_Game.Select(g => g.Game_id).Max();
}
}
我猜这是因为表是空的,所以当我对db的查询返回null时,会产生错误。
答案 0 :(得分:0)
Max()
会抛出此异常。
您可以通过将game_id
投射到int?
来解决此问题,这会导致Max()
返回null
。
您也可以拨打.DefaultIfEmpty()
。