注意:这是EF6
在调用savechanges之前,我在3或4种不同类型的实体中添加了数十种实体。当我这样做时,我捕获一个异常,其中内部异常消息指示“字符串或二进制数据将被截断”。很明显,其中一个字段试图将字符串放入其中一个表的字段中,该字段不足以容纳它。问题是 - 哪个领域。其中一个表有30-40个字段。
有时在调试时,如果存在FK约束错误,我将在本地窗口中看到EntityValidationErrors。在这种情况下,我没有。
所以我试图专门捕获任何EF错误以识别罪魁祸首,但在下面的代码中,它会直接跳到一般异常的捕获。
//were done
try
{
ctx.SaveChanges();
}
catch(DbEntityValidationException ef)
{
retval = -1;
throw ef;
}
catch(Exception ex)
{
retval = -1;
throw ex;
}
如何识别导致此问题的字段/实体?