C#数据注释

时间:2013-07-28 10:30:48

标签: c# data-annotations

我想在除属性名称顶部之外的其他地方定义数据注释。我知道我可以写这样的代码:

public class student
{
   [Required]
   public string Name {get; set;}
}

但我正在使用Linq到Sql数据类,我不想更改这些类。我知道我可以使用数据注释定义一个新类但我想知道还有其他方法吗? 抱歉英语很差。

2 个答案:

答案 0 :(得分:0)

您可以使用DataAnnotations属性来装饰班级成员。或者他们可以在元数据伙伴类中。 Here是一篇解释该方法的文章。

但由于你的实际课程需要用MetadataType进行修饰,我不知道是否可以使用Linq-To-Sql来完成。

答案 1 :(得分:0)

如果要在不同的文件中添加数据注释:

申请开始:

protected void Application_Start()
        {
            //...
            MetadataExtensions.Register();
        }

寄存器:

public static class MetadataExtensions
{
    private static void Register(Type type, Type associatedMetadataType)
    {
        var provider = new AssociatedMetadataTypeTypeDescriptionProvider(type, associatedMetadataType);
        TypeDescriptor.AddProviderTransparent(provider, type);
    }

    public static void Register()
    {
        Register(typeof(Student), typeof(StudentMetadata));
    }
}

在此文件中指定注释(无需重新声明所有属性,只需注释带有注释的属性):

public class StudentMetadata
{
    [Required]
    public string Name { get; set; }
}