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

时间:2013-07-11 08:17:22

标签: c# asp.net-mvc entity-framework-4 oracle11g

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

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

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

  }

1 个答案:

答案 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);
    }