【发布时间】:2011-06-25 07:34:30
【问题描述】:
所以我的数据库中有两个表,联系人和地址:
联系人:ContactID |地址ID |名字 |姓氏
地址:地址ID |地址1 |地址2 |城市 |状态 |邮政编码
我有一个页面,您可以在其中添加联系人。它包含联系人的所有信息和联系人的地址。这是我提交表单时的代码:
[HttpPost]
public ActionResult Edit(ContactsViewModel viewModel)
{
//if editing an contact, fetch it; otherwise, create a new one
Contact contact = viewModel.ContactId == 0
? new Contact()
: _adminRepository.GetContact(viewModel.ContactId);
TryUpdateModel(contact);
if (ModelState.IsValid)
{
_adminRepository.SaveAddress(contact.Address);
_adminRepository.SaveContact(contact);
return RedirectToAction("Index");
}
return View(viewModel); // validation error, so redisplay same view
}
现在我主要关心的是地址添加成功,但是当我尝试保存联系人时出现错误,使地址在数据库中没有联系人。
如果发生错误,回滚任何更改的最佳做法是什么?
【问题讨论】:
-
你在 SaveAddress 和 SaveContact 中做什么?你尝试提交给数据库吗?尝试使用工作单元
标签: c# asp.net asp.net-mvc