在我的职业生涯中,我偶然发现过几次并且从未真正找到答案。我的问题是关于包含用户可以更新的多个控件的Web表单,然后将数据保存到数据库(最简单的例子我现在可以想到的是用户配置文件表单 - 请参阅SO配置文件编辑屏幕)。 / p>
到目前为止,我一直只是将每个控件的值保存到数据库中。对我来说,使用一个调用一个存储过程的方法,传递所有页面的表单值似乎更容易。
我看到的页面似乎保存了单个控件的值,而不是整个控件集。它绝对可以看起来很好(如果页面通过AJAX进行),但它更好吗?我认为你需要更多的开销才能完成这项工作,例如一个(或多个?)DTO,更多方法和更多存储过程?
哪种方式更好?是否有任何关于如何完成个人控制方式的例子?
谢谢!
答案 0 :(得分:0)
我通常建议使用个别控制方法;它提供了更大的设计粒度。
答案 1 :(得分:0)
更好地取决于你的意思。
“一种方法,存储过程” - 编写代码更快,更易于维护。 “保存个人控制的价值” - 更优化?我会优化到最后。看起来更好?可用性在这个页面上实际上是一个问题吗? YAGNI - 只有在性能/可用性被破坏时才能修复它们。
答案 2 :(得分:0)
一些想法
这是对数据库的一次调用,无论是25列还是单列
(类似)如果您在一个编辑会话中更新6个控件,则可以在一个调用中执行,而不是在6个单独的调用中执行
您可能拥有包含依赖或链接控件或不允许值组合的表单:一般情况下,在一个编辑会话中将进行“多个控件”更改:因此代码
审核/时间戳的一般概念是在唯一的*行*级别,而不是列。