Я изучаю ASP.NET MVC. Я следую одному из основных руководств по asp.net . Поскольку я не всегда следую инструкциям к письму, я решил использовать GUID в качестве столбца идентификации вместо целого числа. Все работало нормально, пока я не дошел до точки добавления новой записи в базу данных через приложение MVC. Когда я добавил новую запись, он вставил пустой GUID вместо сгенерированного. Вот фрагмент кода, который обрабатывает вставку:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create([Bind(Exclude = "id")]Movie movieToCreate)
{
try
{
_entities.AddToMovieSet(movieToCreate);
_entities.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
Строка [Bind(Exclude = "id")]
игнорирует столбец идентификатора, поскольку он генерируется автоматически. В учебнике идентификатор увеличивается автоматически, но я думаю, что это потому, что это целое число. Я попытался добавить строку к этому методу:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create([Bind(Exclude = "id")]Movie movieToCreate)
{
try
{
movieToCreate.id = Guid.NewGuid();
_entities.AddToMovieSet(movieToCreate);
_entities.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
Но идентификатор все еще пустой GUID. Может кто-нибудь предоставить мне некоторую информацию о том, почему это так и, возможно, как решить эту проблему?