繁体   English   中英

实体框架中数据库条目的版本历史

[英]Version History of Database entries in entity framework

我有一个项目,我想保留每个更改的版本历史记录。 例如,在以下示例中,如果有人更改信息,例如:

  1. 向人员添加新任务
  2. 编辑现有任务
  3. 在组中添加新人员或编辑现有人员信息
  4. 添加新组或编辑现有组

这是我的结构图:

http://i.stack.imgur.com/l7YwG.png

它将创建一个新版本的项目。 看来它将复制许多现有数据。 谁能为这个问题提出解决方案。

实际项目具有许多一对多的关系,并且最终用户期望的解决方案是每个修改的中心版本。

我正在使用ASP.NET MVC和实体框架来解决此问题。

由于没有答案,我通过为每个表添加一个额外的表来解决该问题。 以下是维度类型4的缓慢变化: http : //en.wikipedia.org/wiki/Slowly_changing_dimension但是,获得有关此问题的其他一些想法将非常不错。

这是我的解决方案的图片: http : //i.stack.imgur.com/jhvQi.png 实体框架中数据库条目的版本历史

由于您使用的是EF,我大概可以说有些模型类可以XML序列化。 那么,为什么不只序列化模型快照并将其保存在带有日期时间戳的表中,并始终将最新版本保留在表中呢? 每当您需要旧版本时,只需将其先进行反序列化再渲染即可。

这样,您将始终使用最新版本(实际上应该是最新版本),并将旧版本保留在xml转储中,以备需要时使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM