UpdateModel(collection);
context.SaveChanges();
Вы не внесли никаких изменений в контекст, чтобы ожидать сохранения чего-либо. Entity Framework (при условии, что это то, что вы используете) работает с объектами. Итак, вам нужна модель и сохраните эту модель в базе данных. Таким образом, действие вашего контроллера может выглядеть так:
[HttpPost]
public ActionResult Create(Product product)
{
_repository.Create(product);
return RedirectToAction("Index", new {controller = "Home"});
}
где переменная _repository
- это некоторый интерфейс, который определяет операции в ваших моделях. Использование интерфейса позволяет отделить логику доступа к данным от логики контроллера. В реализации этого репозитория вы можете использовать любую понравившуюся вам технологию доступа к данным, такую как EF или NHibernate, просто ваш контроллер не должен об этом знать.