У меня проблемы с моим WebApi и ModelState.Всякий раз, когда я отправляю данные в мой API, он выдает ошибки ModelState во всех свойствах навигации.Это моя модель:
public class Student
{
public int StudentID { get; set; }
public string StudentName { get; set; }
public int StandardId { get; set; }
public Standard Standard { get; set; }
}
public class Standard
{
public int StandardId { get; set; }
[Required]
public string StandardName { get; set; }
public ICollection<Student> Students { get; set; }
}
Как видите, я не назначил виртуальное ключевое слово, которое не должно вызывать проблем, так как я не хочу ленивой загрузки.
Это мой API:
[HttpPut, Route("updateStudent/{id:int}")]
public IHttpActionResult Put(int id, Student student)
{
// ModelState throws an error here!!
if (ModelState.IsValid && id == student.StudentId) {
...
}
}
Вот так выглядит мой запрос:
{
"StudenID": 0,
"StudentName": "Tom",
"StandardId": 1
}
Когда я проверяю, как выглядит модель, когда она поступает в API, я вижу, что все данные заполненыи он в основном заменяет свойство Standard новым экземпляром Standard.Однако, я не хочу, чтобы он выдавал ошибки валидации, конечно.
Редактировать: Выдает ошибку, говорящую о том, что свойство StandardName является обязательным.Очевидно, что это неотъемлемая часть свойства навигации.Я не хочу проверять свойство навигации на наличие ошибок.