我有一个应用程序,允许我的用户临时更改正在进行的预订。我已经阅读了有关SQL Server中新的XML数据类型以及相应的SqlXml类型的信息。
我正在考虑使用新类型存储对象的先前值,以便稍后可以恢复它们。
类似的东西:
预订表:
BookingID int
SomeField1 String
SomeField2 String
SomeField3 String
RevertValues XML
RevertDateTime DateTime2
这是我的表格的缩减版本,但我计划将当前值存储在ReverValues列中,然后在达到RevertDatetime时还原。
我的应用程序使用SQL Server 2008数据库,Linq-to-SQL模型,以及MVC前端。
任何和所有的建议都会受到赞赏,因为我之前从未做过这样的事情!
由于
答案 0 :(得分:2)
对我来说听起来不错 - 我正在SQL Server审核中做类似的事情,我在表中保存审核条目,以及两个XML字段 - ValuesBefore
和ValuesAfter
- 来记录并跟踪变化。
您可能想要做的是将“RevertValues”拆分为与您的预订具有外键关系的单独表格,以便您可以跟踪预订的多个修订版本 - 例如{{1} } table:
BookingHistory
BookingHistory
或类似的东西。
马克