C# 在mvc中引用wcf类进行数据注释验证

C# 在mvc中引用wcf类进行数据注释验证,c#,wcf,asp.net-mvc-4,partial-classes,C#,Wcf,Asp.net Mvc 4,Partial Classes,我在我的WCF项目中有一个包含数据成员的数据契约类,我想在我的MVC项目中引用它们,以便我可以对它们应用数据注释验证 我已经可以在MVC项目中使用class对象了,唯一的问题是验证 在我的WCF项目中,我的类有一个名为PeopleOnTourCount的属性: namespace VBSClient.BookingServiceClient { [DataContract] [MetadataType(typeof(BookingTypeMeta

我在我的WCF项目中有一个包含数据成员的数据契约类,我想在我的MVC项目中引用它们,以便我可以对它们应用数据注释验证

我已经可以在MVC项目中使用class对象了,唯一的问题是验证

在我的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; }
        }
    }

我无法访问构造函数中的任何原始属性,并且批注也没有绑定。

您无法将两个单独程序集中的两个分部类绑定到一个类。

分部类应该在一个程序集中。

不要使用分部类,而是从对象继承

然后可以在MVC项目中应用数据注释

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

    public Test() {

    }
}

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

除非给出更好的答案,否则我将这样处理:)

这个问题太模糊了,还是只有我一个人?有什么是模糊的?我在我的WCF项目中有一个分部类,在我的MVC应用程序中有一个分部类,我正在尝试应用数据注释。它不起作用。现在我知道你的问题了,它不能在两个不同的程序集中完成。阅读下面我的答案。谢谢你的回复:)阅读下面我的评论,你的答案在下面呵呵。啊,好的。那么,有可能将MVC数据注释应用于WCF datacontract对象吗?我需要将它们应用到我的MVC解决方案中,因为我的本地化也在MVC项目中。@Smithy。如果您在WCF项目中使用MVC DLL中定义的类,则应用于该项目的所有属性也将应用于WCF。我知道,但我在我的MVC项目中使用本地化,我需要能够应用MyResources.strings.PeopleOnTourCount因为我的MVC应用程序使用不同的语言,所以您的解决方案会将本地化分散(假设我也将模型本地化转移到WCF项目中)@Smithy。很难(至少对我来说)从远处为你提供更多的帮助。对不起。我已经提出了一个临时解决方案,它能解释我的问题吗?