0
我有一個MVC5 EF6.1應用程序,它在除編輯記錄以外的每個方面都以我想要的方式工作。SQL在更新上添加新記錄
我正在使用視圖模型來處理創建和編輯窗體。視圖模型與實體模型相匹配,但不包含Id,並且它具有用於處理文件上傳的一些額外屬性。
創建記錄完美地工作。編輯表單按照它應該的方式填充字段。在更新時,更改被識別。
問題是,並非更新記錄,反映更改的新記錄被添加到數據庫。應該更新的記錄仍然存在。
我已經嘗試了一切,我可以找到試圖解決這個問題。我嘗試過更新和沒有EntityState。我曾嘗試設置OriginalValues和CurrentValues。我甚至嘗試過使用原始的SQL語句。所有結果都一樣:添加新數據的記錄,原始數據保持不變。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(int id, MyViewModel model)
{
var thisRecord = db.MyEntity.Find(id);
//some stuff to update thisRecord properties
db.SaveChanges();
}
這很多工作正常。我可以做些什麼來改變我正在處理的記錄,而不是創建新記錄? 任何幫助將不勝感激。這讓我瘋狂。
謝謝,XIVSolutions,但我沒有嘗試。我也嘗試拿出防僞驗證。同樣的結果。任何其他想法? –
查看上面更新的行。不知道你是否需要這個。如果不這樣做,我建議在調試器中逐步完成並檢查記錄中的值和模型中的值,並更好地瞭解發生的情況。 – XIVSolutions