Если вы используете способность MVC для заполнения вашей сущности / класса, т. Е. Ваш символ действия выглядит следующим образом:
ViewResult MyAction(MyObject object) {
...
Save(MyObject);
}
тогда вам нужно убедиться, что вы включили другое поле, недоступное для редактирования, либо в качестве видимой информации, либо с помощью Html.Hidden в области формы, чтобы убедиться, что у вас полностью заполненный объект. Помните, что в Интернете нет состояния, и сервер не знает, какую запись вы редактировали, если у него нет ключей, чтобы сделать это ретроспективно.
Другой вариант - получить исходный объект (для которого вам все еще нужен первичный ключ) из базы данных, обновить поля из данных формы и затем отправить изменения. Нам нужно знать конкретную ошибку, чтобы иметь возможность помочь в дальнейшем, код, который вы используете, также будет очень полезен.