2012-04-02 64 views
1

按照本教程(http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/handling-concurrency-with-the-entity -framework-in-an-asp-net-mvc-application),我學會了如何在數據提交之前保存數據並對數據進行併發檢查。MVC3的ViewModels保存編輯後的數據和併發檢查

現在,我有一個使用一個ViewModel,而不是實際的數據模型的視圖。

(1)如何保存數據傳回當表單發佈的數據庫? 我不能再調用db.SaveChanges();因爲數據的類型是ViewModel而不是Model。

(2)如何對數據執行併發檢查?

我只是在尋找一個簡單的例子可循。

謝謝!

回答

0

它的工作方式相同,但您必須在提交時將數據從ViewModel複製到數據模型,或者需要從視圖模型構建新實體並將其附加到DbSet。

您可以使用一個工具,如AutoMapper來緩解這一進程。

+0

爲了讓併發檢查正常工作,我是否需要對時間戳字段做任何特殊的處理? – user1304444 2012-04-02 17:48:07

+0

@ user1304444 - 除了不依賴MVC構建實體之外,您可以執行之前的任何操作。您必須從您的視圖模型返回的數據中自行完成。 – 2012-04-02 17:51:57

+0

好的。感謝您回答這個簡單的問題。我認爲這會讓我走。 – user1304444 2012-04-02 18:00:27