gcogco10 Ответов: 1

System.argumentnullexception: 'значение не может быть нулевым. Имя параметра: предприятие'


Привет Команда

У меня возникла проблема, я сохраняю столбец значений в своей таблице базы данных. Когда он достигает метода для сохранения этого значения, он выдает исключение как null. Как мне решить эту проблему?

Что я уже пробовал:

// Модель
public class eNtsaCourses
  {
      [Key]
      public Guid? Id { get; set; }
      public string Course { get; set; }
      public string Nickname { get; set; }
      public string Term { get; set; }
      public string EnrolledAs { get; set; }
      public bool Published { get; set; }
  }

//GET://Courses/Courses-All.
    [Route("Home/Courses")]
  public ActionResult Courses(RegCoursesViewModel eNtsaCourses)
    {
        if(ModelState.IsValid)
        {
            cb.eNtsaCourse.Add(eNtsaCourses.Courses);
            cb.SaveChanges(); // This gets thrown here.
        }
        return View(eNtsaCourses);
    }

[HttpPost]
      public JsonResult AddCoursesRegistration(string CourseName, string clientNo)
      {
          return Json(true, JsonRequestBehavior.AllowGet);
      }

Richard MacCutchan

Как мы уже много раз говорили, единственный способ диагностировать подобные проблемы-это использовать отладчик, чтобы узнать, какой элемент равен null.

gcogco10

@Richard нуль выбрасывается cb.eNtsaCourse.Добавить(eNtsaCourses.Курсы);

F-ES Sitecore

Проблема, скорее всего, будет заключаться в том, что представление не передает RegCoursesViewModel.Курсы возражают против этого действия.

1 Ответов

Рейтинг:
1

Sandeep Mewara

Если вы говорите, что ошибка находится на:

Цитата:
cb.eNtsaCourse.Добавить(eNtsaCourses.Курсы);

энцакурсы.Судя по всему, виновником этого являются курсы. В основном, eNtsaCourses равен нулю.
ОПЕРАЦИОННАЯ
энцакурсы.Курсы - это ноль.

При попытке сохранить значение null для курсов он выдает ошибку. (Ошибка на уровне DTO/Entity)

Вам нужно:
1. Убедитесь, что запрос содержит значение, если оно предполагается
2. независимо от запроса, ваш код должен обрабатывать проверки вокруг ввода, чтобы избежать таких ошибок.