ASP.NET MVC創建草稿而不保留到DB


0

我有一個允許用戶在我正在工作的網站上建議更新其個人資料的要求。他們將能夠查看其個人資料詳細信息,然後單擊並單擊"編輯"按鈕,這基本上將復制少數幾個一對多相關DB表中包含的所有數據。然後,他們可以在保存草稿之前添加或刪除項目並更新各種文本字段。保存後,管理員必須先批准此更改,然後才能將新數據實際發佈到實時站點上。

我目前有一組相同的表,用於保存實時數據和草稿(以及歷史記錄,但這並不重要)。我的困難在於,在用戶單擊"保存"之前,客戶不希望在drafts db結構中創建實際的草稿條目。用戶將能夠對所有數據執行CRUD操作,包括上傳新圖像,但是除非他們準備好提交這些更新,否則我不允許接觸數據庫。

我的最大問題是,即使從技術上講,這是非常具有挑戰性的,但我仍然不知道如何開始開發對客戶來說似乎很簡單的東西。我似乎也無法使客戶理解單擊"保存"按鈕旁邊的"取消"按鈕會從數據庫中刪除該條目及其所有相關數據,這在我看來很無聊。

所以,問題是這樣的:是否有一種方式可以表達我的反對意見,使客戶可以理解我的意思。否則,開發這種會話存儲對象的好方法是什麼?

1

You could try storing client drafts in a cookie or the browser's web storage, that way the clients have the drafts 'persisted' but they aren't in the database.


1

Rather than storing changes in a series of tables, store them as a document that your application will know how to render. When the admin views the draft, the application will render it (and possibly highlight the differences between the original and the proposed change). Finally when the draft is approved, the document is applied to the DB, pushing the changes from the draft into the permanent data.