Когда я обновил модель, она выбрасывает "Не поддерживает нетипизированное значение в не открытом виде". Он работал до обновления. Не удалось установить источник проблемы. есть идеи.
Ошибка Odata v4 "Не поддерживает нетипизированное значение в не открытом типе"
Ответ 1
Я уже сталкивался с этой ошибкой, и она была вызвана передачей свойства объекта JSON, которого нет в модели данных.
Например, учитывая модель данных:
public class User
{
public long UserId { get; set; }
public string UserName { get; set; }
}
И у контроллера OData есть метод:
public IHttpActionResult Post(User user)
Когда следующие данные отправляются с использованием метода POST
:
{
"UserId": "0",
"UserName": "test",
"UserPassword": "test"
}
Затем сервер вернет ошибку 400 со следующим ответом:
{
"error": {
"code": "",
"message": "The request is invalid.",
"innererror": {
"message": "user : Does not support untyped value in non-open type.\r\n",
"type": "",
"stacktrace": ""
}
}
}
Таким образом, если свойство UserPassword
в этом примере удаляется из данных, отправленных с использованием метода POST
, то ошибка не возникает.