2013-07-28 103 views
1

我想定義除了屬性名稱頂部以外的其他數據註釋。我知道我可以這樣寫我的代碼:C#數據註釋

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

但我使用Linq到Sql數據類,我不想更改這些類。我知道我可以用數據註釋來定義一個新類,但是我想知道還有其他方法嗎? 對不起英文不好。

回答

0

您可以讓您的DataAnnotations屬性裝飾班級的成員。或者他們可以在元數據好友級中。 Here是解釋該方法的文章。

但你的實際類需要MetadataType裝飾我不知道這是否可以使用LINQ到SQL來完成。

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; } 
}