Как выглядит ваш вид сохранения?
Вы не можете просто прикрепить новый элемент к EntitySet таким образом. -> Присоединение требует много проверок, и это очень сложно реализовать. Я сам попробовал и мне совсем не понравилось.
В вашем методе [HttpPost]
вам необходимо обновить модель, прежде чем вы сможете сохранить ее:
[HttpPost]
public ActionResult Save(int id, ItemCart edCart) {
DataContext DB = new DataContext(); // I'm doing this without a using keyword for cleanliness
var originalCart = DB.Carts.SingleOrDefault(c => c.ID == id); // First you need to get the old database entry
if (ModelState.IsValid & TryUpdateModel(edCart, "Cart")) { // This is where the magic happens.
// Save New Instance
DB.SubmitChanges.
return RedirectToAction("Details", new { id = originalCart.ID });
} else {
// Invalid - redisplay with errors
return View(edCart);
}
}
Он пытается обновить модель из контроллера значений контроллеров, используя префикс «Корзина».