2013-03-06 54 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