代码之家  ›  专栏  ›  技术社区  ›  Ryan Abbott

将一个控件的值保存到数据库是否优于保存所有控件?

  •  0
  • Ryan Abbott  · 技术社区  · 15 年前

    在我的职业生涯中,我遇到过几次这个问题,但从未真正找到答案。我的问题是关于一个web表单,它包含用户可以更新的多个控件,然后将数据保存到数据库中(我现在能想到的最简单的例子是用户配置文件表单——请参见配置文件编辑屏幕)。

    到目前为止,我一直只是将每个控件的值保存到数据库中。对我来说,让一个方法调用一个存储过程,将页面的所有表单值传递进来似乎更容易。

    我看到的页面似乎保存了单个控件的值,而不是整个控件集。它看起来确实不错(如果页面是通过AJAX实现的),但它更好吗?我认为你需要更多的开销来完成这项工作,比如一个(或多个?)DTO、更多方法和更多存储过程?

    哪条路更好?有没有关于个人控制方式的例子?

    谢谢

    3 回复  |  直到 15 年前
        1
  •  0
  •   Paul Sonier    15 年前

    我通常建议使用个人控制方法;它提供了更大的设计粒度。

        2
  •  0
  •   russau    15 年前

    这取决于你所说的更好。

    “一种方法,存储过程”——编码更快,维护更容易。“保存单个控件的值”-更优化?我会让优化持续下去。看起来好多了?可用性真的是这个页面上的一个问题吗?YAGNI-仅当性能/可用性出现问题时才修复。

        3
  •  0
  •   gbn    15 年前

    一些想法

    • 无论是25列还是一列,只需对数据库进行一次调用

    • (类似)如果在一次编辑会话中更新6个控件,则可以在一次调用中完成,而不是在6个单独的调用中完成

    • 您可能有带有依赖控件、链接控件或不允许的值组合的表单:一般情况下,在一个编辑会话中会出现“多个控件”更改:所以请编写代码

    • 审核/时间戳的总体思路是在唯一的*行*级别,而不是列。