Asp.net mvc ASP.NET MVC 5/元数据服务-DataAnnotations-这仍然是首选方式吗?

Asp.net mvc ASP.NET MVC 5/元数据服务-DataAnnotations-这仍然是首选方式吗?,asp.net-mvc,data-annotations,modelmetadataprovider,Asp.net Mvc,Data Annotations,Modelmetadataprovider,从3版左右开始,我就没有关注过ASP.NETMVC的发展。当时在MVC3中,为MVC DisplayNameFor etc magic增强实体元数据信息的最简单/首选方法是使用DataAnnotations。如果类是由代码生成的,则可以使用[MetadataType]属性 我想知道这是否仍然是MVC5中的首选方法(通读V4和V5的新闻没有透露任何具体内容),或者现在有一些更可定制(内置)的元数据引擎 我真正的问题是如何在不同的程序集中注释实体类。我的项目是基于这样一种方式构建的,即EDMX文件和

从3版左右开始,我就没有关注过ASP.NETMVC的发展。当时在MVC3中,为MVC DisplayNameFor etc magic增强实体元数据信息的最简单/首选方法是使用DataAnnotations。如果类是由代码生成的,则可以使用
[MetadataType]
属性

我想知道这是否仍然是MVC5中的首选方法(通读V4和V5的新闻没有透露任何具体内容),或者现在有一些更可定制(内置)的元数据引擎


我真正的问题是如何在不同的程序集中注释实体类。我的项目是基于这样一种方式构建的,即EDMX文件和实体类位于一个单独的程序集中(由项目的Web、PowerShell等模块重用)

对于大多数人来说,是的,数据注释仍然是一条路要走,但由于您处理的是第三方类,最好的选择是查看nuget包。它允许您通过基于代码的API配置类属性的验证,而不必直接添加批注。

为EF类创建
ViewModel
类并向ViewModel类添加数据批注如何?这是不可能的:(我们有250多个实体…MVC的全部要点是将您的模型与视图模型分离,因此MVVM…因此,是的,重点是您可能会重复工作,但不是完全重复,因为您的视图将有一个几乎基于您的模型的视图模型,但视图特定数据我不需要另一个模型用于CRUD场景我需要的是能够本地化字段名,然后让scaffolding和ASP.NETMVC模板来完成繁重的工作。