2010-11-03 31 views
0

我正在構建某種內容系統。存儲過程的設計問題

無論如何,我有一個數據庫與3表 可以說一個是新聞和其他文章和故事。

現在我想做一個服務,只備份將被編輯的文章。無論如何,我想要的所有在asp.net中的邏輯,而不是在數據庫本身。

反正我的問題從這裏開始:存儲過程我有插入,我想用插入這些條款的tbl_articles表 現在我想用我的樓內設有商務層新的條款,它使用的是調用我的數據層 存儲過程來插入備份到一臺名爲文章 tbl_articles_backup

現在我知道我有一個設計問題...也許,如果我有想過在過去的這個功能時,我開始我將用於別的東西像LINQ或者在我的數據層類似的東西。

現在我的問題是:我可以做什麼在oreder仍然得到最好的設計,我可以不改變所有的程序。 我不想重複相同的存儲過程..我不想重載buisness層和數據層中的方法。

任何想法?.. 什麼是我最好的選擇?

感謝

+1

這是僅用於編輯文章原始版本的數據存檔嗎?如果是這樣,這聽起來像是一個觸發器的工作,儘管可能是不可靠的。 – 2010-11-03 11:41:34

+0

我感謝您的評論。將更復雜,然後...我需要在當天更改的東西的備份我有一個服務,同步環境,在那裏人們編輯文章溺水的一天。到我希望在同步服務之前使備份服務運行的生產環境。所以生病了有東西得到改變的備份.. – 2010-11-03 11:45:01

回答

0

「反正我想在asp.net而不是在數據庫本身所有的邏輯。

...

什麼我最好的選擇?」如果你已經決定你希望你的邏輯在數據庫之外,那麼你所要求的任何'選項',只不過是asp.net選項,絕對不是數據庫/ dbms選項,你最好刪除任何這些「數據庫」標籤。

1

我認爲觸發器是您的最佳選擇。只要表得到更新,它就可以將相同的行插入備份表中。這是自動的,並保證在您的交易中運行。其實並不難。最後,如果你用VB或SQL編寫你的邏輯,你仍然需要學習LINQ或SQL命令。我個人建議嘗試保持數據庫中的數據庫邏輯並簡化事物的asp.net方面。

如果您給我們一份插入SP的副本,我可以告訴您如何編寫更新觸發器。