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



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

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

  1. 表"项目"中的条目将更新。

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

  3. 保存到"历史项目"的副本最好有一个时间戳。

我将如何做到这一点?(正如你可能知道的,我最近刚开始学习Visual Studio,对所有事情都很陌生)

谢谢。

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

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

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

  3. 如果要在 C# 代码中执行此操作,则需要在保存之前读取原始值,并将这些原始值保存到历史记录表中。有关读取原始值的信息,请参阅:如何在实体框架中获取实体的原始值?

如果可能的话,我会选择选项 1。

相关内容

最新更新