1

プロパティ名の先頭以外にデータ注釈を定義したい。次のようにコードを記述できることを知っています。

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

しかし、Linq to Sql データ クラスを使用していて、これらのクラスを変更したくありません。データ注釈だけで新しいクラスを定義できることは知っていますが、他に方法があるか知りたいですか? 下手な英語でごめんなさい。

4

2 に答える 2

0

DataAnnotationsクラスのメンバーを装飾する属性を持つことができます。または、メタデータ バディ クラスに含まれる場合もあります。そのアプローチを説明する記事を次に示します。

しかし、実際のクラスを装飾する必要があるため、MetadataTypeLinq-To-Sql を使用してこれを実現できるかどうかはわかりません。

于 2013-07-28T10:37:49.220 に答える
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; }
}
于 2013-07-28T10:40:56.193 に答える