查找DBUpdateException的原因

2023-11-25

打电话时DbContext.SaveChanges,我得到一个 DbUpdateException:

未处理的类型异常 “System.Data.Entity.Infrastruct.DbUpdateException”发生在 实体框架.dll。附加信息:发生错误 更新条目。有关详细信息,请参阅内部异常。

不幸的是,没有内部例外(至少,据我所知没有)。有什么方法可以确切地了解原因SaveChanges抛出异常?至少,了解发生错误时 SaveChanges 尝试更新哪些表会很有帮助。


这是我对 SaveChanges 的覆盖。它为我提供了一个放置断点的有用位置:

    public override int SaveChanges()
    {
        try
        {
            return base.SaveChanges();
        }
        catch (DbEntityValidationException e)
        {
            foreach (var eve in e.EntityValidationErrors)
            {
                Debug.WriteLine(@"Entity of type ""{0}"" in state ""{1}"" 
                   has the following validation errors:",
                    eve.Entry.Entity.GetType().Name, 
                    eve.Entry.State);
                foreach (var ve in eve.ValidationErrors)
                {
                    Debug.WriteLine(@"- Property: ""{0}"", Error: ""{1}""",
                        ve.PropertyName, ve.ErrorMessage);
                }
            }
            throw;
        }
        catch(DbUpdateException e)
        {
           //Add your code to inspect the inner exception and/or
           //e.Entries here.
           //Or just use the debugger.
           //Added this catch (after the comments below) to make it more obvious 
           //how this code might help this specific problem
        }
        catch (Exception e)
        {
            Debug.WriteLine(e.Message);
            throw;
        }
    }

参考:

一个或多个实体的验证失败。有关更多详细信息,请参阅“EntityValidationErrors”属性

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找DBUpdateException的原因 的相关文章

随机推荐

  • SQL 为 null 且 = null [重复]

    这个问题在这里已经有答案了 可能的重复 什么是 null 和 IS NULL IS NULL 和 NULL 有什么区别 有什么区别 where x is null and where x null 为什么后者不起作用 在 SQL 中 比较n
  • Xamarin.Forms - 主/详细信息页面和导航历史记录问题

    我有一个应用程序 它使用 masterdetail 页面在所有页面中显示菜单 在我的应用程序中 导航以两种方式发生 一种方式来自菜单 第二种方式来自仪表板 因此 如果我导航到另一个页面 然后按 返回 按钮 它将关闭应用程序 它不记得导航历史
  • 我的 py2app 应用程序无法打开。有什么问题?

    我正在用 python pygame 和 py2app 编写一个简单的游戏 我使用 python 2 6 当我在别名模式下构建游戏时 它工作正常 但是当我构建部署时 应用程序在午餐后立即崩溃 有人知道发生了什么事吗 为了对整个问题提供更彻底
  • 连续创建位图会导致内存泄漏

    我有一个线程不断生成位图并截取另一个程序窗口的屏幕截图 现在 我的表单上有一个图片框 并且它会随着生成的位图不断更新 这是我在线程中的代码 Bitmap bitmap null while true if listBoxIndex 1 Re
  • 有没有一种可移植的方法来获取Python中的当前用户名?

    什么是获取当前用户用户名的便携方式 例如对于 Linux 和 Windows 类似的东西os getuid 会好的 gt gt gt os getuid 42 Does not currently exist in Python gt gt
  • 无法访问 p:columns 内托管 bean 中的嵌套属性

    我有以下两个简单的 POJO class Person String name Address address and of course the getter setter for the attributes class Address
  • 计算对象检测的混淆矩阵的正确方法是什么?

    我正在尝试计算我的对象检测模型的混淆矩阵 然而 我似乎偶然发现了一些陷阱 我当前的方法是将每个预测框与每个地面实况框进行比较 如果它们的 IoU gt 某个阈值 我会将预测插入到混淆矩阵中 插入后 我删除预测列表中的元素并移至下一个元素 因
  • 核心数据删除规则和多对多关系

    假设您有部门和员工 每个部门有多名员工 但每个员工也可以属于多个部门 所以员工和部门之间是多对多的关系 删除一个部门时 我想删除仅属于该部门的所有员工 并取消属于另一个部门的所有员工与该部门的关系 两个方向的级联规则可以做到这一点吗 或者级
  • 如何在DIV可见之前获取clientWidth和clientHeight

    我想获取 DIV 元素 用于在光标位置显示弹出菜单 的尺寸style display none 但是 DIV 的尺寸始终返回 0 我似乎能够获得尺寸的唯一方法是使 DIVstyle display block 0 0 然后将其移动到所需的位
  • 有条件的 gem 依赖

    是否可以在安装时有条件地设置对 gem 的依赖关系 这是我的情况 希望能澄清这个问题 我维护的 gem 依赖于 json gem 然而 我经常使用 jruby 它有一个名为 json jruby 的 json gem 端口 为了解决这个问题
  • 如何生成n个线程?

    我正在尝试编写一个多线程程序 线程数基于命令行输入 因此我无法对预先声明的线程进行硬编码 这是一种有效的做法吗 int threads 5 dynamic not hard coded int i 0 pthread t thread ma
  • 有人可以向我解释这段 ASP.NET MVC 代码吗?

    这是 ASP NET MVC2 RTM 中的当前代码System Web Mvc AuthorizeAttribute班级 public virtual void OnAuthorization AuthorizationContext f
  • styles_base.xml 文件中出现错误 - android 应用程序 - 找不到与给定名称“android:Widget.Material.ActionButton”匹配的资源

    好的 我是 Android 开发的初学者 我刚刚创建了 hello world 应用程序 但这给了我错误styles base xml文件的appcompat v7图书馆 错误 检索项目的父级时出错 找不到资源 与给定的名称匹配 andro
  • 删除 TFS 2010 中的分支关系

    我刚刚接手了一个 TFS 2010 团队项目 分支层次结构是 Dev 是 Test 的子级 Test 是 Main 的子级 例如 Main Test Dev 然而 在过去的某个时候 有人在 Dev 和 Main 之间进行了毫无根据的合并 这
  • 在 .NET 中获取当前文化日名称

    是否有可能获得CurrentCulture的工作日从DateTimeFormatInfo 但返回Monday作为一周的第一天而不是Sunday 并且 如果当前区域性不是英语 即 ISO 代码不是 en 则将其保留为默认值 默认情况下Cult
  • EntityContainer名称在不同程序集中必须是唯一的?

    我有两个项目 新闻 数据 标签 数据 两者都定义Entities 当我尝试执行时 using var db new News Data Entities name Entities results1 db News ToList using
  • 如何将 SSRS 时间格式转换为 HH:MM AM/PM 格式?

    我的任务是增强以下代码以显示不带秒的时间以及 AM PM IIF Fields New Date Value lt gt NO CHANGE FormatDateTime IIF Fields New Date Value NO CHANG
  • Bash 补全:compgen 一个单词列表,就好像它们是路径一样 - 仅建议直到下一个斜杠

    我正在为一个 bash 完成脚本工作点文件管理实用程序 该工具有一个命令dots diff filename 这将显示安装的点文件和源点文件之间的差异 它还有一个命令dots files其中列出了所有托管点文件的路径 相对于源目录 我想用
  • sendmail 错误 452 这一小时收到的收件人太多

    我们正在向我们的 BREW 设备 在 sprint 网络中 发送大量电子邮件 一段时间后 我们的邮件服务器将消息排队并卡住了 当我们尝试刷新它们时 我们会从服务器获得关注 这个问题有解决办法吗 这个错误 452 是来自我们的邮件服务器还是
  • 查找DBUpdateException的原因

    打电话时DbContext SaveChanges 我得到一个 DbUpdateException 未处理的类型异常 System Data Entity Infrastruct DbUpdateException 发生在 实体框架 dll