2011-12-18 7 views
0

안녕 모두, 내 ASP.NET 서버에 ASP.NET MVC3 응용 프로그램을 배포하려고합니다. 이것은 내가 무슨 짓을했는지 있습니다 :MVC3 웹 응용 프로그램 배포

  1. 새로운 빈 DB 만든 웹 서버
  2. 모든 프로젝트를 업로드,
  3. 는 web.config 파일의 ConnectionString을 수정 된 테이블과 PK와를 작성하는 SQL 스크립트를 실행 여기

web.config 반면에

  • customErrors mode="On"을 추가 한 온라인 DB를 가리 키도록 속성 것은 내가 무엇을 얻을 오류입니다 :

    요청을 처리하는 중 오류가 발생했습니다.

    System.InvalidOperationException : 구체화 된 값이 null이기 때문에 값 유형 'INT32' 에 캐스팅 실패했습니다. 결과 유형의 일반 매개 변수 또는 쿼리가 Null 허용 유형을 사용해야합니다. 여기

    내가 요청하고있는 페이지에 대한 내 코드입니다 :

    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

    Max()은 행이없는 경우이 예외를 발생시킵니다.

    game_idint?으로 변환하면 Max()null이됩니다.
    .DefaultIfEmpty()으로 전화 할 수도 있습니다.

    +0

    무엇에'.DefaultIfEmpty()'를 호출합니까? –

    +0

    @JFB :'Select()'질의에서. – SLaks