1

更新条目时出错。有关详细信息,请参阅内部异常。

内部异常:“准备命令定义时发生错误。有关详细信息,请参阅内部异常。”

我使用 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)
  {

  }
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 回答