WCF枚举属性 出错 wcf 枚举的一个陷阱
生活随笔
收集整理的這篇文章主要介紹了
WCF枚举属性 出错 wcf 枚举的一个陷阱
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[DataContract]
??? public enum GetMailType
??? {
??????
??????? [EnumMember]
??????? DDA=1,
??????? [EnumMember]
??????? KVK=2,
??????? [EnumMember]
??????? BTW=3,
??? }
??? public class UnaddressConfig
??? {
[DataMember]??????? public int GetMailTypeID
??????? { get; set; }
[NotMapped]
??????? [DataMember]
??????? public GetMailType GetMailType
??????? {
??????????? get { return (GetMailType)GetMailTypeID; }
??????????? set { GetMailTypeID = (int)value; }
??????? }}
??? 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哪邊直接支持枚舉就更好了).總結
以上是生活随笔為你收集整理的WCF枚举属性 出错 wcf 枚举的一个陷阱的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 残疾人无障碍设施工程改造送上门 900户
- 下一篇: Android深入浅出系列之实例应用—弹