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

Erx*_*der 4 .net c# vb.net asp.net asp.net-mvc

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

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

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

Partial Class FPDataContext
End Class
Run Code Online (Sandbox Code Playgroud)

所以,我甚至无法查看课程!有谁的想法任何这些问题?

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

编辑:

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

Imports System.ComponentModel.DataAnnotations

<MetadataType(GetType(CommentMetaData))> _
Partial Public Class Comment
End Class

Public Class CommentMetaData
    <UIHint("PostedSince")> _
    Public Property DateAdded() As DateTime

End Class
Run Code Online (Sandbox Code Playgroud)

Ste*_*ven 7

您可以使用DataAnnotations的"伙伴类"功能来定义类型的验证.这基本上意味着您在另一个类上定义验证,但您也可以在现有类的"内部"定义此类:

[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; }
}
Run Code Online (Sandbox Code Playgroud)