准备命令定义时出错.有关详细信息EF,请参阅内部异常

本文关键字:EF 详细信息 请参阅 异常 内部 命令 定义 出错 | 更新日期: 2023-09-27 18:21:52

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

内部异常:"准备命令定义时出错。有关详细信息,请参阅内部异常。"

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

准备命令定义时出错.有关详细信息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 (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);
    }