2015-04-22 23 views
0

我正在用Asp .net mvc5 with EF6創建一個財務應用程序。我在更新數據庫方面有一個難題。我想要的是我有Person(e.g. firstname, lastname, address, salary, tax, and so on)。我第一次輸入了一個記錄(e.g. John, Smith, US, 3500.00,)。當John Smith獲得晉升時,我將更新他的工資爲4000.00,而我仍然想保留他的舊工資3500.00。如果我不保留3500.00,他的taxother deductible費用不會從3500.00工資到reflect correctly,直到他賺取3500.00的最後一天。他的稅收數據一直得到3500.00將失去,並將根據4000.00反映。如何在更新asp時保留舊的數據記錄mvc 5

任何人都可以指導我如何解決這個問題嗎?感謝您分享我可以爲這類問題研究的任何資源或鏈接。預先感謝。

+2

你需要一個額外的表(比如工資)包含PersonID,日期和工資細節 –

回答

1

您需要創建相應的主表Person表讓叫它Person_log(e.g. firstname, lastname, address, salary, tax,Entry_Date_On_Log and so on)

流程1:

創建INSERT,UPDATE觸發器和插入記錄到Person_log表在插入和每個更新Person表。

流程2:

您可以手動(使用查詢碼)輸入記錄到Person_log表上的每一個和每個條目的Person表。

現在,每當你要計算的稅收或任何對應於一個人的日期還有 ,你可以很容易地找到薪水 或使用 日期過濾器的任何其他記錄一個人從Person_log表( Entry_Date_On_Log)。

+0

我也推薦@ user3540365的答案。這樣,繁重的工作將在SQL SERVER上進行。 –

+0

你們兩個建議使用時間戳嗎?感謝您的洞察力。 – jkhaung

0

除了user3540365建議的方法有2種方法

方法1

利用變更數據捕獲(SQL Server)的

你可以讀到它here

方法2 方法2

您可以創建一個日誌表,並使用輸出條款

閱讀更多關於輸出條款here

我會說去的方法1它是很容易

相關問題