将DataAnnotations添加到自动生成的DBML类? MVC 2.0 ASP.NET

我很担心这样做,因为我的更改将在dbml文件再次自动生成时被覆盖(通常是这样)。

我正在考虑做一个局部课并写出相同的属性来注释它们,但担心它会抱怨重复,我甚至无法进行实验的原因让我想到了我的问题的第二部分……

… …我的dbml文件列表中的可展开箭头丢失,右键单击并选择“查看代码”只显示一个空的分部类,如下所示…

Partial Class FPDataContext End Class 

所以,我甚至无法查看课程! 有人提出任何想法吗?

我正在使用VS2010 RC并且我正在开发一个MVC 2.0应用程序,我希望能够使用UI注释,例如[UIHint("RelativeDateTime")]

编辑:

问题解决了,谢谢史蒂夫,这里以我的VB版编辑为例……

 Imports System.ComponentModel.DataAnnotations  _ Partial Public Class Comment End Class Public Class CommentMetaData  _ Public Property DateAdded() As DateTime End Class 

您可以使用DataAnnotations的“伙伴类”function来定义类型的validation。 这基本上意味着您在另一个类上定义validation,但您也可以在现有类的“内部”定义此类:

 [MetadataType(typeof(CommentMetaData))] public partial class Comment { } public class CommentMetaData { [StringLength(50),Required] public object Name { get; set; } [StringLength(15)] public object Color { get; set; } [Range(0, 9999)] public object Weight { get; set; } } 

可能的解决方案是http://linqtometadataaddin.codeplex.com :

Linq To MetaData AddIn是一个Visual Studio 2010工具,可为dbml文件生成元数据类型。 对于Asp.net DynamicData应用程序,建议使用此添加项