我正在处理一个在线商店项目,我已经使管理员可以通过商店 gui 更新不同的表条目(如项目、用户配置文件、订单等)。保存更改();用于保存更改。
我目前正在试图弄清楚如何完成这项工作:
-
表"项目"中的条目将更新。
-
在更新表"items"中的条目之前,旧条目的副本将保存到名为"history-items"的表中。
-
保存到"历史项目"的副本最好有一个时间戳。
我将如何做到这一点?(正如你可能知道的,我最近刚开始学习Visual Studio,对所有事情都很陌生)
谢谢。
至少有 3 种方法可以做到这一点:
-
如果您使用的是 SQL Server 2008 或更高版本,则此功能现在是内置功能,请参阅:http://msdn.microsoft.com/en-us/library/bb933994.aspx
-
如果您选择不使用它,那么最简单的解决方案是使用数据库触发器。
-
如果要在 C# 代码中执行此操作,则需要在保存之前读取原始值,并将这些原始值保存到历史记录表中。有关读取原始值的信息,请参阅:如何在实体框架中获取实体的原始值?
如果可能的话,我会选择选项 1。