在ScottGu的博客就是一個例子如何使用MVC2自定義驗證與EF4: http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx自定義驗證與MVC2和EF4
所以這裏的問題:
當VS2010設計器創建數據庫對象,根據示例,您必須向該類添加[MetadataType(typeof(Person_validation))] Annotation。
但是,當我更改設計器中的任何內容時,所有這些註釋都會丟失。
是否可以對edmx文件進行自我更改,還是有更好的方法將System.ComponentModel.DataAnnotations應用於生成的實體?
謝謝。
謝謝您的回答,但問題是更多關於部分: [MedadataType(typeof運算(PersonMetadata))] 部分類Person {}//另一部分由EF4生成 帶註釋的好友類正在正常工作。但我的問題是:我有大約100個實體。如果我在Visual Studio中對設計器進行了小改動,代碼將被重新生成。所以引用該夥伴類的所有註釋 [MedadataType(typeof(....))]都沒有了。所以如果我只是添加一個屬性,我可以去添加100個類再次註釋。不是EF一代人的想法。 – csharpnoob 2010-05-03 07:42:09
@csharpnoob - 聽起來好像您將「MetadataTypeAttribute」添加到部分類的錯誤部分。這個想法是,因爲EF生成部分類,所以你可以在不同的文件中*自己的*部分寫* * * *重新生成,應用MetaDataAttribute。我通常會把屬性應用到同一個文件中的部分類,然後我可以立即看到哪些類會受到更改的影響。 – 2010-05-03 10:01:46
該死的。對我的錯!部分註釋,我錯過了那個小細節。無論如何,這個存在設置默認值。再次感謝。 – csharpnoob 2010-05-03 11:06:59