我有一个项目,我想保留每个更改的版本历史记录。例如,在以下示例中,如果某人更改了以下信息:
这是我的结构图片:
它将创建一个新版本的项目。它似乎会复制许多现有数据。任何人都可以建议解决这个问题。
真正的项目有很多一对多的关系,并且最终用户的预期解决方案需要每个修改的中心版本。
我正在使用ASP.NET MVC和Entity Framework来解决这个问题。
答案 0 :(得分:1)
由于没有答案,我通过为每个表添加一个额外的表来解决问题。跟随缓慢变化的维度类型4:http://en.wikipedia.org/wiki/Slowly_changing_dimension 然而,就这个问题得到一些其他想法会很好。
以下是我的解决方案图片:http://i.stack.imgur.com/jhvQi.png
答案 1 :(得分:0)
由于您使用的是EF,我可以说可以说有一些XML可序列化的模型类。那么为什么不直接序列化模型的快照并将其保存在附有日期时间戳的表中,并将最新版本保存在表中?每当你需要旧版本时,你只需要它并反序列化然后渲染。
通过这种方式,您始终可以使用最新版本,实际上应该会发生这种情况并将旧版本保留在xml转储中以备不时之需。