這是我的問題。其限定順序的類有一個叫做PaymentStatus
屬性,它是一個enum
定義像這樣:Azure表存儲,WCF服務和枚舉
public enum PaymentStatuses : int
{
OnDelivery = 1,
Paid = 2,
Processed = 3,
Cleared = 4
}
,後來,在類本身,屬性定義是非常簡單的:
public PaymentStatuses? PaymentStatus { get; set; }
但是,如果我嘗試保存以便在Azure表存儲時,我得到以下異常:
System.InvalidOperationException: The type Order+PaymentStatuses' has no settable properties.
在這一點上我想USI NG enum
是不可能的,但快速谷歌搜索返回此:http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/7eb1a2ca-6c1b-4440-b40e-012db98ccb0a
此頁面列出了兩個答案,其中一個似乎忽略的問題,並建議使用Azure存儲的enum
是罰款。
現在,我不需要在Azure Table Storage中存儲enum
,因此我也可以存儲相應的int
,但是,我確實需要在WCF服務中公開此屬性。
我試圖使財產利用get
和set
返回從存儲integer
的enum
,並通過使用我DataContext
的WritingEntity
事件移除天青此屬性,但我爲這個實體的事件之前拿到那個異常被解僱。
在這一點上,我很茫然,我不知道我還能做些什麼來將WCF中的這個屬性作爲enum
,但Azure商店只有int
。
這是行不通的。 WCF本身沒有問題。如果我創建一個DataContract並在其中定義一個枚舉,那麼它工作正常。我需要的是該枚舉以某種方式與Azure存儲表一起工作。 – Shaamaan 2011-02-14 10:03:33