2014-02-25 27 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配置對類屬性的驗證,而不必直接添加註釋。