探知,不断发现
探知不断发现
  [DataContract]
    public enum GetMailType
    {
      
        [EnumMember]
        DDA=1,
        [EnumMember]
        KVK=2,
        [EnumMember]
        BTW=3,
    }

 

我们有一个类。放在数据库当中用的

[DataContract(IsReference = true)]
    public class UnaddressConfig
    {
        [DataMember]
        public int GetMailTypeID
        { get; set; }
 
[NotMapped]
        [DataMember]
        public GetMailType GetMailType
        {
            get { return (GetMailType)GetMailTypeID; }
            set { GetMailTypeID = (int)value; }
        }
}

我们系统当中有一个方法 Save(UnaddressConfig config)
客户端添加WCF引用后 调用这个方法的时候可能会造成。
config.GetMailType=GetMailType.DDA

在服务端我们会发现在这个值可能是0

为什么会这样呢?

 因为

 

  GetMailTypeID 这个值就是0.

解决的方法是把 GetMailTypeID的Atribute

[DataMember]
去掉。 因为我们客户端实际也不需要这个。只是数据库哪边需要。(如果 Entity framework哪边直接支持枚举就更好了).

posted on 2012-03-02 14:18  lovebanyi  阅读(3243)  评论(0编辑  收藏  举报