0

WCFプロジェクトにデータメンバーを持つデータコントラクトクラスがあり、MVCプロジェクトでそれらを参照して、データアノテーション検証を適用できるようにしたい

MVCプロジェクトでクラスオブジェクトを使用できます。すでに唯一の問題は検証です。

私のWCFプロジェクトでは、クラスに次のプロパティがありますPeopleOnTourCount

    namespace VBSClient.BookingServiceClient 
    {
        [DataContract]
        [MetadataType(typeof(BookingTypeMetaData))]
        public partial class BookingType 
        {
            public BookingType() { }
        }

        public class BookingTypeMetaData {
            [Required]
            [Display(Name="People Count")]
            [DataMember]
            public int PeopleOnTourCount { get; set; }
        }
    }

コンストラクター内の元のプロパティにアクセスできず、アノテーションもバインドされていません。

4

2 に答える 2

1

部分クラスを使用する代わりに、代わりにオブジェクトから継承します。

その後、MVC プロジェクトにデータ注釈を適用できます。

[MetadataType(typeof(BookingTypeMetaData))]
public class Test : BookingType {

    public Test() {

    }
}

public class BookingTypeMetaData {
    [Required]
    [Display(Name = "People Count")]
    public int PeopleOnTourCount { get; set; }
}

これは、より良い答えが与えられない限り、私がそれに対処する方法です:)

于 2012-11-12T16:13:22.597 に答える
0

2 つの個別の Assembly から 1 つのクラスに 2 つの Partial クラスをバインドすることはできません。
部分クラスは 1 つのアセンブリにある必要があります。

于 2012-11-12T15:53:58.727 に答える