2017-05-08 41 views
2

我知道很少有類似的問題在SO中被問過。但我的問題有點不同。 我有一個類似的代碼塊 -字符串或二進制數據將被截斷。該語句已被終止 - 如何找到確切的插入語句?

 using (DBWebEntities db = new DBWebEntities()) 
      { 
       if (StatusDict != null && StatusDict.Count > 0) 
       { 
        foreach (KeyValuePair<string, job_status> kvp in JobStatusDict) 
        { db.AddToEmp_status(kvp.Value); } 

        db.SaveChanges(); 
       } 
      } 

正如你所看到的,我運行db.saveChanges()一起在結束所有插入查詢。 我收到了一些實體的異常。 如何從異常情況中發現確切的實體值?

當我檢查innerexception,我只能找到堆棧跟蹤不是造成這種情況的實體。

我使用.NET 4

+0

查看內部異常 – CodingYoshi

+0

嗯......異常還包括一個帶有失敗實體條目的列表,如果我沒有弄錯......(這是一個DbUpdateException,對嗎?) – elgonzo

+0

已經檢查了內部異常。它顯示了堆棧跟蹤,但不是導致它的實體。我正在使用.NET 4 –

回答

0

這怎麼我終於找到了它。 將鼠標懸停在'ex' - >展開System.Data.UpdateException - >展開'狀態條目' - 在這裏您可以看到導致此錯誤的對象。

1

你可以做以下

catch (DbEntityValidationException ex) 
      { 

將鼠標懸停在離。詢問實體驗證錯誤,dbentityvalidationresult,Entry,Entity:查看您試圖進入數據庫的值和字段名稱。

詢問entityvalidationerrors,dbentityvalidationresult,錄入,實體--to看錶,則需要

+0

感謝您的迴應。我會檢查是否有效,並讓你知道。 –

相關問題