我有一個使用ADO.NET實體框架的.NET 4 WinForms應用程序。一些完美工作的代碼已經決定停止工作,儘管我試圖找出可能導致這種情況的變化,但我很難過。這段代碼對我來說功能完全正常,而且WAS按預期工作。ADO.NET實體框架SaveChanges不起作用
任何人有任何想法?下面是代碼:
using (var pe = new ProposalEstimateEntities())
{
var tmc = GetToolingAndMaterialsCost(taskId, Constants.Materials);
if (tmc == null) return;
tmc.Amount = amount;
pe.SaveChanges();
}
的TMC變量保存在方法調用後ToolingAndMaterialsCost實體對象,所以沒有必要將對象添加到上下文。 SaveChanges()應該用新金額保存對象,但不保存。沒有例外被拋出。代碼執行起來很愚蠢,很快樂,但是數據庫沒有任何變化,當我返回到顯示數據的控件時,舊的預編輯數據就在那裏。
這是非常令人沮喪的,任何幫助將不勝感激。
邁克
正確,用於加載實體的上下文不同於SaveChanges調用中使用的上下文。我將tmc對象添加到該上下文,並且工作正常。 – flyfisher1952 2010-10-26 19:23:35