Сообщение проверки «Поле Id обязательно» при создании; Идентификатор не установлен на [Обязательно]

Это происходит, когда я пытаюсь создать объект с помощью действия «Создать стиль» в Asp.Net MVC 2.

POCO обладает следующими свойствами:

public int Id {get;set;}

[Required]
public string Message {get; set}

При создании сущности Id устанавливается автоматически, поэтому в действии Create нет необходимости.

ModelState говорит, что "Поле Id обязательно для заполненияно у меня неттак и должно быть. Здесь происходит что-то автоматическое?

РЕДАКТИРОВАТЬ - Причина раскрыта

На причину проблемы отвечает Брэд Уилсон через Пола Сперанца в одном из комментариев ниже, где он говорит (приветствует Пола):

Вы'Вы предоставляете значение для ID, вы просто неЯ знаю, что ты был. Это's в данных маршрута маршрута по умолчанию ("{Контроллер} / {действие} / {ID}»), и его значением по умолчанию является пустая строка, которая нет действителен для int. Используйте атрибут [Bind] в параметре action, чтобы исключить ID. Мой маршрут по умолчанию был: новый {контроллер = "Покупатель", действие = "Редактировать", id = " " } // Параметры по умолчанию

РЕДАКТИРОВАТЬ - Обновление модели техники

Я фактически изменил способ, которым я сделал это снова, используя TryUpdateModel и массив параметров исключения, связанный с этим.

    [HttpPost]
    public ActionResult Add(Venue collection)
    {
        Venue venue = new Venue();
        if (TryUpdateModel(venue, null, null, new[] { "Id" }))
        {
            _service.Add(venue);
            return RedirectToAction("Index", "Manage");
        }
        return View(collection);
    }

Ответы на вопрос(15)

Ваш ответ на вопрос