2013-03-06 48 views
0

我有一個由Database First完成的edmx模型,並使用VS工具生成DBSet。我使用partials擴展了類,以便爲其添加數據註解驗證。 我在我的控制器上接收到我手動控制字段驗證的視圖模型。所以儘管我的分部類有一個必填字段,但我在控制器ModelState.Remove中刪除了一次(「pasajeros [」+ count +「] .numResidencia」);由於某些條件。 之前,我使用的是LINQTOSQL,我沒有任何問題。但是現在Entity框架並沒有履行我對ModelState的定製。 如何使用EntityFramework傳播或處理此問題? 謝謝MVC ModelState和EntityFramework驗證

回答

1

保持您的視圖模型和實體模型分開。將您的驗證註釋放在您的視圖模型上。然後使用像Automapper這樣的工具將實體映射到ViewModel字段。

在編輯時,驗證您的視圖模型,然後更新您保存的實體字段。

+0

我完全同意Jasen,看到這個使用驗證和自動映射器的示例項目:https://github.com/StefH/KendoGridBinderEx/tree/master/KendoGridBinderEx.Examples.MVC – 2013-03-06 22:52:19