1

エントリの更新中にエラーが発生しました。詳細については、内部例外を参照してください。

内部例外: 「コマンド定義の準備中にエラーが発生しました。詳細については、内部例外を参照してください。」

Oracle を Entity Framework およびデータベースとして使用しています。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)
  {

  }
4

1 に答える 1

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);
    }
于 2013-07-11T08:29:05.633 に答える