我有一個項目,其中多個用戶可能同時查看同一頁數據並對其進行更改。因此,丟失的更新問題將會發生。C#MVC僅使用Entity Framework保存視圖模型的已更改元素
我想知道是否有任何框架或模式可以遵循,這將優雅地處理。所以如果有人只更改視圖模型中的一個字段,我想只更新數據庫中的這一列。
當前我發佈視圖模型回控制器,驗證,然後自動映射到實體框架類。
作爲一個適當的例子,比方說我的視圖模型如下:
public class MyViewModel
{
public int Id { get; set; }
public int Num1 { get; set; }
public int Num2 { get; set; }
}
只有1在數據庫中一行如下:
Id = 1
Num1 = 10
Num2 = 20
這就被讀入的觀點模型何時加載頁面。
如果A人和B人同時使用網站瀏覽此記錄,他們的屏幕上分別有Num1和Num2分別爲10和20。
人A將Num1設置爲15並按下保存。
然後人B將Num2更改爲25並按下保存。然而,由於整個視圖模型被保存,所以人A的Num1 = 15的變化會丟失並被人B的記錄覆蓋10。
有沒有人有任何web框架,他們可以推薦哪個計劃很好地與MVC,這將避免這個問題?
你可以按照建議在這個環節 http://stackoverflow.com/questions/833/editing-database-records-by-multiple-users – 2014-10-03 18:52:39
沒有任何的建議,解決問題了嗎? – 2014-10-07 13:39:47
不是真的,但有一天晚上一些進一步的研究拋出了這個有趣的文章:http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/handling-concurrency-with-the- entity-framework-in-an-asp-net-mvc-application – 2014-10-07 13:51:09