Вам необходимо вернуть отредактированный продукт и идентификатор категории.Затем в вашем контроллере / хранилище получите категорию из переданного идентификатора категории и установите категорию в качестве категории продукта.
Поскольку категория возвращается из БД (или где-либо еще), все свойства должны быть пропилуляторами, поэтому вы не должны получать «Имя категории обязательно»
Быстрый пример того, что я имею в виду
[HTTPost]
public ActionResult Save(Product product, int? categoryId)
{
Category category = GetCategory(categoryID);
product.Category = category;
if (ModelState.IsValid)
{
// Save etc.
}
}