0

如果我在单独的程序集中定义了一个实体类(例如来自 Entity Framework),是否可以向属性添加远程验证?

如果该类是在我的 MVC 项目中定义的,我只需向该属性添加一个 Remote 属性,但是当该类在单独的程序集中定义时,我不能这样做。我确实在我的 EF 项目中定义了其他数据注释,但是在那里添加远程注释没有任何意义。

我可能可以手动将 jquery 验证规则添加到我的视图中,但我想知道是否有办法让 MVC 框架为我做这件事。

我在网上找到的每个示例都假定您使用的是在 MVC 项目中定义的实体,可以轻松添加远程验证。在我的视图中使用我的 EF 实体作为我的模型类是错误的吗?制作具有所有相同属性的新实体,以及与我的 EF 类相同的数据注释,并且必须在两者之间来回转换,这似乎是一种浪费。

4

2 回答 2

0

您可以在 MVC 项目中使用 ViewModel 并将远程属性添加到那里的模型中,或者如果您在另一个程序集中使用实体,为什么不能将远程属性添加到这些实体的属性中?我不确定我明白为什么这样做没有意义。

于 2011-04-13T16:00:11.590 回答
0

这绝对是一个单独的视图模型类的情况。如果您希望 ASP.NET MVC 特定功能和实体同时在一个单独的程序集中,您必须使用视图模型。为了简化实体和视图模型之间的映射,您可以使用AutoMapper

于 2011-04-13T17:36:41.483 回答