Развертывание веб-приложения MVC3 - PullRequest
0 голосов
/ 18 декабря 2011

Всем доброго времени суток, я пытаюсь развернуть приложение ASP.NET MVC3 на своем веб-сервере.Вот что я сделал:

  1. Загрузил весь проект на веб-сервер
  2. Создал новую пустую БД, запустил сценарии SQL для создания таблиц и PK
  3. Изменен атрибут connectionString файла web.config для указания на онлайн-базу данных
  4. добавлен customErrors mode="On" к web.config

Вот что я получаю:

К сожалению, при обработке вашего запроса произошла ошибка.

System.InvalidOperationException: преобразование к типу значения 'Int32' не выполнено, поскольку материализованное значение равно нулю.Либо универсальный параметр типа результата, либо запрос должен использовать обнуляемый тип.

Вот мой код запрашиваемой страницы:

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();
    }
}

Я предполагаю, что это потому, чтотаблицы пусты, поэтому, когда мой запрос к БД возвращает ноль, это приводит к ошибке.

1 Ответ

0 голосов
/ 18 декабря 2011

Max() выдает это исключение, если строк нет.

Это можно исправить, приведя game_id к int?, в результате чего Max() вернет null.
Вы также можете позвонить .DefaultIfEmpty().

...