我对此比较陌生,但我仍然有点尴尬,因为这真的应该很简单......
我要做的就是更新数据库表中的现有行。我首先使用 EF(我相信是 5)代码。
对于 MVC 3,我使用了这种方法(有效):
ReportCommon reportcommon = db.ReportCommon.Single(r => r.ReportCommonId == id);
reportcommon.IP = StaticUtilities.GetIPAddress();
db.ObjectStateManager.ChangeObjectState(reportcommon, EntityState.Modified);
db.SaveChanges();
我尝试了一些我发现的示例,虽然它们没有出错,但数据库没有更新......
[HttpPost]
public ActionResult Edit(CitizenEntryViewModel citizenDetails)
{
ActiveCitizen activeCitizen = db.ActiveCitizen.SingleOrDefault(m => m.ID == citizenDetails.ActiveCitizen.ID);
if (activeCitizen != null)
{
citizenDetails.ActiveCitizen.CitizenUpdatedRecordOn = DateTime.Now;
// Fields we don't edit but still need to pass back
citizenDetails.ActiveCitizen.PublicID = activeCitizen.PublicID;
citizenDetails.ActiveCitizen.IsKIN = activeCitizen.IsKIN;
activeCitizen = citizenDetails.ActiveCitizen;
db.SaveChanges();
}