EF中saveChanged失败后如何持久保存提交失败的数据

问题描述

当前项目遇到的问题:在使用entityframeworksavechanges的时候可能会抛出各种异常(可能的异常见:https://msdn.microsoft.com/zh-cn/library/gg696566(v=vs.113).aspx#Anchor_1),导致这个问题无论是db的错误还是连接的错,或是数据有效性的,都不能把数据丢弃,因为这数据相对重要,就好比取款机吐出钱后,数据没能更新当前这块业务的要求可靠性比较高,保存总不能100%没异常。就是要解决这几十万,甚至亿分之一的比率。说极端点一旦发生这块的问题,可以拿到运行时的数据,最起码可以走人工分析,领导审核,DBA补上执行失败的数据这样的流程,但不能接受没招可使。针对这种情况,向大牛们讨教解决方案。

解决方案

解决方案二:
物理日志,记录参数?
解决方案三:
对于可靠性要求高的业务,请使用消息队列。
解决方案四:
entity对象用静态了?

时间: 2024-08-02 10:03:56

EF中saveChanged失败后如何持久保存提交失败的数据的相关文章

全局变量-js刷新页面后怎么能保存之前赋值的数据不丢失

问题描述 js刷新页面后怎么能保存之前赋值的数据不丢失 在jsp页面中通过js刷新页面,在刷新之前我给input标签和A标签都赋值了 以及和一些全局变量都赋值了. 我想通过js刷新之后把刚才标签或者是变量的值都保存下来,以便接下来用. 但是,现在js刷新之后上面的那些数据都丢失了. 请问有什么办法能让刷新之后还能保存住数据不丢失. 那位大神知道. 解决方案 页面无刷新调用数据(IFRAME+js) 解决方案二: 刷新后,你先查一下保存的变量中的数值是否正确? 如果正确,则需要在刷新完成后执行一下

PHP提交表单失败后如何保留已经填写的信息_php技巧

本文介绍PHP提交表单失败后如何保留填写的信息一些方法总结,其中最常用的就是使用缓存方式了,这种方法如果网速慢是可能出问题的,最好的办法就是使用ajax了. 1.使用header头设置缓存控制头Cache-control. PHP代码如下: header('Cache-control: private, must-revalidate'); //支持页面回跳 2.使用session_cache_limiter方法. PHP代码如下: session_cache_limiter('private,

PHP提交表单失败后如何保留填写的信息

1.使用header头设置缓存控制头Cache-control. PHP代码 1.  代码如下 复制代码 header('Cache-control: private, must-revalidate'); //支持页面回跳 2.使用session_cache_limiter方法. PHP代码  代码如下 复制代码 1.session_cache_limiter('private, must-revalidate'); //要写在session_start方法之前 下面介绍一下session_c

struts2类型转换失败后

问题描述 大家好, 关于struts2的类型转换,本人有个疑问.  比如我的action中有一个Integer类型的number,且增加了不能为空的校验器,提示信息为:number can not be null.  在表单中,我故意在number表单域输入abc,那么在提交表单后,首先会发生转换,转换失败后,会把转换失败信息加到fieldError里面,并且把number字段设置成null值,再进入验证,这时不能为空的校验器肯定不能通过,最终进入input指定的页面,并提示错误信息number

我的一个ASP.NET页面怎么老是提交失败啊? 帮帮我吧!

问题描述 我的database:lutingSQL表名:luting1;里面有一个叫"qian"的字段,是money类型的.我ASP..NET页面有一个textbox,和一个"保存按钮",那textbox的ID:"qian",也就是用户在那控件栏上输入money类型的数额,点击保存,就保存到数据库了,会不会我输错了啊,代码反正是对的.(相关代码)protectedvoidButton1_Click(objectsender,EventArgse)

SSH 中 用了atomikos集成JTA 事务后,hibernate执行任何操作失败后都不抛异常

问题描述 在项目中, 用了atomikos集成JTA 事务后,hibernate执行任何操作失败后都不抛异常比如,我用getHibernateTemplate().load方法加载一个不存在的数据都不抛出异常,或者我删除一个不存在的记录也不抛异常,谁知道这是什么原因啊?????????? 问题补充:lizhi92574 写道 解决方案 load查询返回代理对象,在你使用的时候才会抛出异常

hibernate HQL new xxx() 查询 join连接多个表,并把连接后的表保存到一个新类中

hibernate HQL  new xxx() 查询 join连接多个表,并把连接后的表保存到一个新类中 另外  保存一些字段可以这样 select new com.zrj.entity.BankSelect(bankNum,bankName)from BankInfo as bank where 1=1

正版XP系统验证失败后黑屏怎么办

  正版XP系统验证失败后黑屏怎么办: 1.开机进入桌面变为纯黑色(可以手动更换桌面) 2.每隔1个小时桌面将再度变为黑屏 3.用户登录时会出现登录中断对话框 4.屏幕右下方出现一个永久通知和持续提醒的对话框,显示"您可能是软件盗版的受害者" Office症状如下: 1.正版验证失败,首次打开软件,并且在此后2小时将分别收到盗版信息提醒 2.从验证失败第30天,Office菜单栏将被加上"不是正版"的视觉标记 解决方法: 1.近期关闭系统自动更新.进入我的电脑→属性

邮件发送失败后路由器的工作机制

一封邮件发送失败后,路由器(router)任务会根据"初始传送重试间隔"域中指定的值进行重新尝试."初始传送重试间隔"域位于服务器配置文档中,可以在路由器/SMTP-〉限制和控制-〉传输控制下找到.用户可以在域中指定一个整数,其单位为分钟,路由器会根据这个设置来控制邮件的重新发送. Notes邮件路由(router任务)可以基于NRPC协议和SMTP协议来发送邮件.如果一封邮件发送失败了,它会保存在mail.box中等待路由器重新进行发送.缺省来讲,一封邮件在mai