for 루프를 사용하여 동일한 모델을 여러 번 저장할 수 있어야합니다. My Action에는 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();
}
제가 그렇게 할 때 영화가 지워집니다. – Andrew
그 이전의 코멘트를 무시할 수 있습니다. 지금 당신이 의미하는 바를 봅니다. 네가 한 말을 놓쳤다. 감사! – Andrew