0
我需要能够使用for循环多次保存同一模型。我的操作有两个参数,InventoryViewModel电影和int数量。例如,如果数量为3,则需要将三份副本保存到数据库中。MVC3多次保存模型
在我的控制,我有:
[HttpPost]
public ActionResult addInventory(InventoryViewModel movie, int Quantity)
{
movie.Inventory.isAvail = true;
if (ModelState.IsValid)
{
for (int i = 0; i < Quantity; i++)
{
inventoryRepository.save(movie.Inventory);
movie = new InventoryViewModel();
}
return RedirectToAction("index");
}
return View("index", movie);
}
我想设置电影=新InventoryViewModel将创造电影的新实例,但它不工作。如果我将该行取出,则在将第一个副本添加到数据库之后,它会碰到else语句。 CheckoutNum是表的主键,因此我无法在for循环中将其设置为0。我不记得确切的错误,但它是关于主键不能修改的东西。
库:
public void save(Inventory movie)
{
if (movie.CheckoutNum == 0)
db.Inventory.Add(movie);
else
db.Entry<Inventory>(movie).State = System.Data.EntityState.Modified;
db.SaveChanges();
}
当我这样做时,会清除movieId。 – Andrew
你可以忽略之前的评论,我明白你的意思了。我错过了你的评论。谢谢! – Andrew