0
我有這樣的代碼:EF EntityState.Modified嘗試捕捉問題
try
{
Member member = database.Members.Where(m=>m.ID=1).FirstOrDefault();
member.Name = "NewMemberName";
database.Entry(member).State = EntityState.Modified;
database.SaveChanges();
}
catch (Exception ex)
{
database.Logs.Add(new Log() { Value=ex.ToString() });
database.SaveChanges();
}
而且實體:
[StringLength(5)]
public string Name { get; set; }
如果名稱字符串超過5那將是錯誤和捕獲異常,但是當我添加一個日誌然後保存,SaveChange()的異常;仍然存在,我該怎麼辦?(不能改變架構)
如果'的SaveChanges()'拋出一個異常,爲什麼你會希望它片刻之後立即開展工作?不要在'catch'塊中重新嘗試'SaveChanges()'。 – David
抱歉沒有注意到,我想捕捉異常並向數據庫寫入日誌消息,所以我必須在添加日誌之後使用database.SaveChanges()。 – protoss