2011-01-19 109 views
1

我開始了一個新項目,該項目需要允許在窗體上進行編輯,但要跟蹤原始內容以及編輯者和做什麼編輯以及在哪裏(ps我不能使用除visual studio 2010之外的任何其他軟件以及Microsoft SQL Server Management Studio因此沒有提示任何添加軟件,這純粹是代碼或表設計問題)。實現表單編輯和審覈所有編輯的最佳方式?

我是一個完美主義者,我知道一些可能的路線來實現這個將prob改變我的整體項目設計,但我不知道如果我的想法如何實現這是最好的,所以我喜歡聽到別人的意見在以下想法和您自己的想法上實現上述問題最快最有效的方法。

思路: -

  1. 我設定,讓當他們編輯將從textboxs到單選按鈕,甚至一些下拉菜單和他們的價值,然後顯示數據的所有現有範圍在提交時將通過Id將原始記錄複製到實現表中,創建新記錄,然後從主表中刪除原始記錄。

  2. 我想通過某種方式在表單的任何部分添加X條評論,每條評論都會在底部記錄來自雙向驗證的時間戳和用戶名。

編輯 - 我的目的是獲得了多種解決方案,但我想,一旦我能夠開始在這個項目上的編輯部分,如果單一解決方案給出的作品,然後我會標記出正確的。

+0

我幾乎不能按照你的想法。 – 2011-01-19 12:35:16

+0

@Darin Dimitrov:你有什麼問題? – Myzifer 2011-01-19 13:42:06

回答

3

我不確定這是否是您要查找的內容,但我需要記錄對數據的所有更改(出於審計原因)以及我實施此方法的方式是創建一個新的「歷史記錄」表SQL Server將存儲記錄ID,更改它的人員的用戶名,他們是否添加/修改/刪除了某些內容以及何時發生了這種情況。

在我的數據庫中添加/編輯/刪除東西的代碼中, ObjectContext.SaveChanges(我使用實體框架4),所以我實現的是這個方法的擴展,它使用ObjectStateManager的各個部分來獲取有關已更改的實體所需的信息,並將詳細信息插入到歷史記錄表中。然後您只需要在數據庫中查詢該表以顯示已更改內容的詳細信息。

相關問題