我想定義除了屬性名稱頂部以外的其他數據註釋。我知道我可以這樣寫我的代碼:C#數據註釋
public class student
{
[Required]
public string Name {get; set;}
}
但我使用Linq到Sql數據類,我不想更改這些類。我知道我可以用數據註釋來定義一個新類,但是我想知道還有其他方法嗎? 對不起英文不好。
我想定義除了屬性名稱頂部以外的其他數據註釋。我知道我可以這樣寫我的代碼:C#數據註釋
public class student
{
[Required]
public string Name {get; set;}
}
但我使用Linq到Sql數據類,我不想更改這些類。我知道我可以用數據註釋來定義一個新類,但是我想知道還有其他方法嗎? 對不起英文不好。
您可以讓您的DataAnnotations
屬性裝飾班級的成員。或者他們可以在元數據好友級中。 Here是解釋該方法的文章。
但你的實際類需要MetadataType
裝飾我不知道這是否可以使用LINQ到SQL來完成。
如果你想添加數據標註在不同的文件中:
應用程序啓動:
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; }
}