部署MVC3 Web应用程序

时间:2011-12-18 17:16:44

标签: asp.net-mvc-3 web-deployment-project web-deployment

美好的一天,我正在尝试将我的ASP.NET MVC3应用程序部署到我的网络服务器。这就是我所做的:

  1. 将所有项目上传到网络服务器
  2. 创建了一个新的空DB,运行SQL脚本来创建表和PK
  3. 修改了web.config文件的connectionString属性以指向在线数据库
  4. customErrors mode="On"添加到web.config
  5. 以下是我得到的错误:

    抱歉,处理您的请求时出错。

      

    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时,会产生错误。

1 个答案:

答案 0 :(得分:0)

如果没有任何行,

Max()会抛出此异常。

您可以通过将game_id投射到int?来解决此问题,这会导致Max()返回null。 您也可以拨打.DefaultIfEmpty()