Я новичок в .NET MVC (обучение).У меня есть следующий метод в контроллере (это не чистый код, и я учусь)
[HttpPost]
public ActionResult Edit(ProductCategoryLocation viewModel)
{
if (ModelState.IsValid)
{
var product = viewModel.Product;
product.Category = db.Categories
.Where(c => c.ID == viewModel.CategoryID).Single();
db.Entry(product).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(viewModel);
}
Модель представления имеет типы продукта, местоположения и категории, а также CategoryID и LocationID.В методе POST я получаю идентификатор категории из модели представления, обновите категорию продукта, а затем обновите модель до базы данных.Любые изменения в свойствах Продуктов сохраняются за исключением Категории, измененной вручную.
Есть ли ошибка / Я что-то упустил?Это правильный способ обновления с использованием View Model?