我正在讨论如何处理检查数据更改的内容,而无法决定最有意义的实践:
所以每种方法都有它的缺点,我不知道哪一个是最糟糕的一堆。有没有人有更多可扩展的想法来处理数据持久性,以便查看是否有任何变化?
架构:针对非特定全球受众的SQL Server 2005,ASP.NET MVC,IIS7,高可扩展性要求。
答案 0 :(得分:2)
我在DAL中处理它 - 它具有原始值,因此无需转到数据库。
答案 1 :(得分:2)
好的,这是另一个解决方案 - 我没有考虑过所有的影响,但我认为它可行:
考虑一下GetHashCode()比较功能:
在页面加载时,您计算页面数据的哈希码。如果您喜欢这样,则将哈希码存储在页面数据或视图状态/会话中。
在数据发布(回发)时,您计算已发布数据的哈希码,并将其与原始哈希值进行比较。如果它不同,则用户更改了某些内容,您可以将其保存回数据库。
答案 2 :(得分:0)
对于系统中的每个实体,请引入其他版本字段。使用此字段,您将能够检查数据库级别的更改。
由于您有一个Web应用程序,并且通常可伸缩性对Web应用程序很重要,我建议您在UI级别避免使用IsChanged逻辑。可以在保存操作期间在数据库级别设置LastUpdated日期。