Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用支持silverlight的wcf和实体框架为silverlight项目中的实体添加验证_Wcf_Silverlight_Entity Framework_Validation_Metadata - Fatal编程技术网

如何使用支持silverlight的wcf和实体框架为silverlight项目中的实体添加验证

如何使用支持silverlight的wcf和实体框架为silverlight项目中的实体添加验证,wcf,silverlight,entity-framework,validation,metadata,Wcf,Silverlight,Entity Framework,Validation,Metadata,我正在为我的silverlight业务应用程序使用支持silverlight的wcf服务和实体框架。但实体没有自动生成的元数据类。因此,我无法使用数据注释(如[Required]、[ReadOnly(true)]轻松为实体添加验证。。。 我为实体创建了一个元数据类,下面是服务器端的代码: [MetadataTypeAttribute(typeof(SAMPLE.SAMPLEMetadata))] public partial class SAMPLE { internal sealed

我正在为我的silverlight业务应用程序使用支持silverlight的wcf服务和实体框架。但实体没有自动生成的元数据类。因此,我无法使用数据注释(如[Required]、[ReadOnly(true)]轻松为实体添加验证。。。 我为实体创建了一个元数据类,下面是服务器端的代码:

[MetadataTypeAttribute(typeof(SAMPLE.SAMPLEMetadata))]
public partial class SAMPLE
{
    internal sealed class SAMPLEMetadata
    {
        private SAMPLEMetadata()
        {
        }

        [Required]
        [ReadOnly(true)]
        public string SERIALNO { get; set; }
    }
}
这是客户端的代码,在服务引用文件夹中,在服务引用下,文件名是reference.cs:

    [System.Runtime.Serialization.DataMemberAttribute()]
    public string SERIALNO {
        get {
            return this.SERIALNOField;
        }
        set {
            if ((object.ReferenceEquals(this.SERIALNOField, value) != true)) {
                this.SERIALNOField = value;
                this.RaisePropertyChanged("SERIALNO");
            }
        }
    }
因此,不会生成像[Required]这样的数据注释。。。 当然,验证永远不会起作用。 我不知道如何使用支持silverlight的wcf和实体框架的元数据类添加验证。
有人能帮我一下吗?

这在WCF中不容易做到,最好使用Ria服务

您可以通过使用视图模型类和实现INotifyDataErrorInfo接口来添加验证。