试图捕获DbEntityValidationException但直接跳到一般异常

时间:2017-02-08 14:27:44

标签: c# entity-framework entity-framework-6

注意:这是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;
        }

如何识别导致此问题的字段/实体?

0 个答案:

没有答案