Asp.net mvc 3 坚持还是不坚持。这就是问题所在。何时是保存到数据库的适当时间?

Asp.net mvc 3 坚持还是不坚持。这就是问题所在。何时是保存到数据库的适当时间?,asp.net-mvc-3,persistence,Asp.net Mvc 3,Persistence,我正在开发一个新的web应用程序来提交县纳税申报表。到目前为止,我正在开发逻辑,以便以多种形式收集数据,并将其保存在内存中,直到用户进入最后一步,单击“保存” 此时,数据一次保存到数据库中。我对这种方法的推理是允许在单个事务中加载数据。另外,我只需要使用insert语句,而不是insert if/else update,如果该事务失败,我就没有孤立和部分数据需要清理 但是,现在我开始认为我应该尽快储蓄。然后根据需要向数据库添加数据 我希望这不是福特对雪佛兰的辩论。我真的在问一个客观的问题,在大多

我正在开发一个新的web应用程序来提交县纳税申报表。到目前为止,我正在开发逻辑,以便以多种形式收集数据,并将其保存在内存中,直到用户进入最后一步,单击“保存”

此时,数据一次保存到数据库中。我对这种方法的推理是允许在单个事务中加载数据。另外,我只需要使用insert语句,而不是
insert if/else update
,如果该事务失败,我就没有孤立和部分数据需要清理

但是,现在我开始认为我应该尽快储蓄。然后根据需要向数据库添加数据


我希望这不是福特对雪佛兰的辩论。我真的在问一个客观的问题,在大多数情况下,真的有正确的方法吗?我也会选择你的新方法——尽可能多地保留——原因如下:

  • 当应用程序关闭时会发生什么?(用户必须再次输入所有数据)
  • 当用户开始填写表单,离开2-3-4小时4天,然后回来时会发生什么?过期和删除的会话和会话变量-用户必须再次输入所有数据
  • 您必须以两种方式检查数据的有效性—首先保存到内存,然后保存到数据库
  • 当用户完成5个表单并提交,而您在第一个表单中出现错误时,会发生什么情况?-无论如何,你都要让他填写表格
  • 在这两种情况下都必须检查数据的完整性

我认为没有任何合理的理由不尽可能多地储蓄,我同意。由于所讨论的数据是系统实际需要的数据,所以在实际可行的情况下尽快将其持久化是有意义的。