2013-07-11 176 views
1

更新條目時發生錯誤。詳情請參閱內部例外。準備命令定義時發生錯誤。有關詳細信息,請參閱內部例外EF

內部異常:「準備命令定義時發生錯誤,請參閱內部異常以瞭解詳細信息。」

我使用Oracle作爲實體框架和數據庫。 當我想使用EF獲得結果它工作正常。但是,當我試圖插入一個記錄到表中我得到這個問題。 這是代碼:

try{ 
    Table1 Obj = new Table1(); 
    Obj.col1 = 2010; 
    Obj.col2 =0; 
    Obj.col3 = 103907; 
    Obj.col4 = 14145; 
    DataContext1 dbContext = new DataContext1(); 
    dbContext.AddToTable1(Obj); 

    dbContext.ObjectStateManager.ChangeObjectState(Obj,System.Data.EntityState.Added); 
    dbContext.SaveChanges(); 

}catch(Expectation ex) 
    { 

    } 
+0

您可以顯示內部異常? –

回答

1

你需要看一下內部異常。這個問題可能會很明顯。

像這樣的東西可能會幫助(或設置一個斷點,只是看):

try{ 
    Table1 Obj = new Table1(); 
    Obj.col1 = 2010; 
    Obj.col2 =0; 
    Obj.col3 = 103907; 
    Obj.col4 = 14145; 
    DataContext1 dbContext = new DataContext1() 
    dbContext.AddToTable1(Obj);  
    dbContext.ObjectStateManager.ChangeObjectState(Obj,System.Data.EntityState.Added); 
    dbContext.SaveChanges(); 
    } 
catch (System.Data.Entity.Validation.DbEntityValidationException e) 
    { 
     string validationErrors = "DbEntityValidationException ValidationErrors: "; 
     foreach (var k in e.EntityValidationErrors) 
     { 
      foreach (var e1 in k.ValidationErrors) 
      { 
       validationErrors += string.Format("{0} - {1}; ", e1.PropertyName, e1.ErrorMessage); 
      } 
     } 
     throw new Exception(validationErrors, e); 
    } 
相關問題