1
我想更新數據庫中存在的多個對象並保存新對象,但它不工作?TryUpdateModel/UpdateModel不起作用?
這裏是我的代碼:
[HttpPost]
public ActionResult Edit(MasterModel Model)
{
DBEntities db = new DBEntities();
var reloadView = true;
for(int i = 0 ;i< Model.Emails.Count(); i++)
{
if(Model.Emails[i].ID > 0)
{
var id = Model.Emails[i].ID;
var email = db.EMAIL.Single(e=> e.ID == id);
if(TryValidateModel(Model.Emails[i], "Emails[" +i.ToString() + "]"))
{
TryUpdateModel(email, "Emails[" + i.ToString() + "]");
reloadView = false;
}
else
{
reloadView = true;
}
}
else
{
if(TryValidateModel(Model.Emails[i], "Emails[" + i.ToString() + "]"))
{
db.AddToEMAIL(Model.Emails[i]);
reloadView = false;
}
else
{
reloadView = true;
}
}
}
if(reloadView)
{
return View(Model);
}
else
{
db.SaveChanges();
return RedirectToAction("Index");
}
}
如果TryUpdateModel後我做db.SaveChanges();我得到一個System.Data.UpdateException與參照完整性
而且,如果我讓我的代碼就像在這個例子中,它只是不更新! :S
噢,我也試過UpdateModel()。
有什麼建議嗎?
在此先感謝!
乾杯
謝謝您的回答,但它不對我的問題有任何積極的影響。如果你看我的代碼即時通訊數據庫更新模型,並保存更改。或者你看到我沒有看到的東西? – Gyocol
嗨我看到你的代碼實現也插入(Model.Emails [i] .ID> 0),我不明白爲什麼如果你發佈編輯操作。 – ADIMO