使用SaveChanges()更新表条目时,将旧表条目的副本保存到另一个表中?

时间:2013-11-13 16:01:36

标签: visual-studio entity-framework visual-studio-2012

我正在开发一个在线商店项目,我已经让管理员可以通过商店gui更新不同的表项(如项目,用户配置文件,订单等)。保存更改();用于保存更改。

我目前正试图弄清楚如何使这项工作:

  1. 表“items”中的条目已更新。

  2. 在表“条目”中的条目更新之前,旧条目的副本将保存到名为“history-items”的表中。

  3. 保存到“history-items”的副本最好有一个时间戳。

  4. 我该怎么做呢? (正如你可能会说的那样,我最近选择了视觉工作室,而且对所有事情都很陌生)

    谢谢。

1 个答案:

答案 0 :(得分:0)

至少有3种方法可以做到这一点:

  1. 如果您使用的是SQL Server 2008或更新版本,现在已内置功能,请参阅:http://msdn.microsoft.com/en-us/library/bb933994.aspx

  2. 如果您选择不使用它,那么最简单的解决方案是使用数据库触发器。

  3. 如果要在C#代码中执行此操作,则需要在保存之前读取原始值,并将这些原始值保存到历史记录表中。要阅读原始值,请参阅:How to get original values of an entity in Entity Framework?

  4. 如果可能,我会选择选项1.