我們正在SQL 2008 R2上構建大型C#MVC2應用程序(我們也使用Sharp體系結構和Nhibernate作爲生態系統的一部分)的早期階段,其中一個要求是所有數據庫行版本都可以訪問給定的歷史時期。如何實現歷史版本?
我們玩弄類似佈局的思路:
ID(PK)
的recordId
VERSIONID
,並具有一個新的記錄每個編輯,達到創紀錄的結果正與創造相同的recordId和遞增的versionId。然後,記錄顯示將按照SELECT ... WHERE recordId = X AND versionId = MAX(versionId)的順序完成一些操作。
每個事務的快照都不起作用(太多了?並且不能從應用程序中輕鬆訪問)。
但是我們很好奇其他實現方式是否已經嘗試成功,或者存在潛在的問題。
Robert,請在標籤中標明「MSSQL,C#4,NHib,Sharp Arch」等標籤。 – 2010-07-11 05:36:10