2014-02-25 28 views
2

自从版本3左右开始,我就没有遵循ASP.NET MVC的发展。当时在MVC3中,为MVC DisplayNameFor等魔术提升实体元数据信息的最简单/首选方法是使用DataAnnotations。如果类是代码生成的,则可能使用[MetadataType]属性。ASP.NET MVC 5 /元数据服务 - DataAnnotations - 这仍然是首选方式吗?

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

我的真正问题是如何在不同的程序集中注释实体类。我的项目建立在EDMX文件和实体类生活在单独程序集(由项目的Web,PowerShell等模块重新使用)的方式上。

+0

如何为您的EF类创建'ViewModel'类并向ViewModel类添加数据注解? –

+0

这是没有去:(我们有超过250个实体... ... –

+1

以及MVC的全部观点是将你的模型从你的视图模型,因此MVVM分开...所以是的,重点是,似乎你会复制工作,但不完全,因为你的观点将有一个几乎基于你的模型,但查看特定数据的视图模型 –

回答

1

对于大多数情况,数据注释仍然是方式但是由于您正在处理第三方课程,所以最好的办法是看看nuget包,FluentValidation。它允许您通过基于代码的API配置对类属性的验证,而不必直接添加注释。