我試圖用實體框架將實體插入到我的數據庫中。見下:實體框架中的InnerException當我嘗試添加實體
private void InsertarIntoDataBase()
{
Juego game = db.games.First(g => g.Id == anId);
Day d = new Day {
DayNumber = this.Number,
Game = game // This is a relationship. One Day has one game
};
db.AddToDay(d);
db.SaveChanges();
}
這總是爲插入,而不是更新。我第一次運行我的應用程序,它工作,然後停止工作,拋出這個異常An error occurred while updating the entries. See the InnerException for details.
。 (我確信我沒有改變任何東西)。
爲什麼框架認爲我正在更新?我錯了什麼?
你不應該捕獲'System.Exception'。始終抓住一個特定的例外。 –
@DavidAnderson如果您想以特定方式處理該類型的異常,您會捕獲特定的異常。由於提問者不知道他的SaveChanges失敗的原因,我建議捕捉異常並將其記錄在某處以獲得真正的原因。解決簡單問題的簡單方法。 – Despertar
你應該永遠不會捕獲System.Exception,你應該始終讓它傳播堆棧。這些是應該通過調試和測試來處理的錯誤。請參閱此Msdn主題作爲快速參考(http://msdn.microsoft.com/en-us/library/ms229005.aspx)。有無數的資源說明你爲什麼不應該這樣做,包括在這裏。 –