我試圖使用實體框架4爲我正在寫的小型數據庫應用程序保留下載文件的記錄。在運行應用程序時,我在.SaveChanges()方法之前設置了tableName.Add()方法之後的斷點,並且我可以看到保存到實體中的數據;那麼在調用.SaveChanges()方法之後我有另一個斷點,並查看數據庫以查找沒有記錄保存到它。我發現了很多類似的問題,但我還沒有找到解決我的特定問題的方法。這裏是代碼:實體框架4 SaveChanges方法不保存到數據庫
public void StartNewDownload(string FileID)
{
DateTime startTime = DateTime.Now;
FilesDBEntities db = new FilesDBEntities();
int startedID = (from dr in db.tblDownloadResults
where dr.Value.Equals("Started")
select dr.ResultID).First();
tblDownloads myDownload = new tblDownloads { FileID = FileID, StartDateTime = startTime, ResultID = startedID };
db.tblDownloads.Add(myDownload);
db.SaveChanges();
}
任何幫助表示讚賞。
謝謝!
如何「查看數據庫」?你有沒有嘗試閱讀你的應用程序中的實體?它有用嗎?我見過很多情況,那些使用CodeFirst並且在他們改變了某些內容後查看錯誤數據庫的人以及CodeFirst創建了一個保存數據的新數據庫。如果你可以閱讀你的應用程序中保存的內容,這意味着數據被保存在某處。 – Pawel
Pawel,謝謝你的回覆。我可以看到這是一個潛在的原因。將調查並報告。謝謝。 –
你總是可以使用'((IObjectContext)ctx).ObjectContext).Connection.ConnectionString'來獲取連接字符串,它會告訴你你打哪個數據庫。 – Pawel