在我的项目中,我的数据库中有四个变量。 FileNumber,Number,LastFileNumber and Company。
我想在我的数据库中创建Number值的数量。就像FileNumber是5而Number是3一样,LastFileNumber将是5 + 3 - 1 = 7
,它应该保存到数据库,如
FileNumber 5 Number 3 LastFileNumber 7
FileNumber 6 Number 3 LastFileNumber 7
FileNumber 7 Number 3 LastFileNumber 7
我的代码目前是:
[HttpPost]
public ActionResult Create(Eur1 eur1)
{
int filenum = Convert.ToInt32(eur1.FileNumber);
int lastfilenum = Convert.ToInt32(eur1.LastFileNumber);
int num = Convert.ToInt32(eur1.Number);
if (ModelState.IsValid)
{
for(int i=0;i<=num;i++)
{
db.Eur1.AddObject(eur1);
db.SaveChanges();
lastfilenum = lastfilenum + 1;
}
return RedirectToAction("Create");
}
return RedirectToAction("Create");
}
但当然是在说
ObjectStateManager中已存在具有相同键的对象。现有对象处于Unchanged状态。如果对象处于添加状态,则只能再次添加到ObjectStateManager。
我该如何解决这个问题?
答案 0 :(得分:0)
查看您的for
循环 - 您一次又一次地添加相同的eur1
对象。另一方面,lastfilenum = lastfilenum + 1;
的分配没有任何意义,因为您对lastfilenum
'没有做任何事情。
重新检查你的逻辑。