【发布时间】:2011-06-20 02:17:16
【问题描述】:
这是我的问题。定义订单的类有一个名为PaymentStatus 的属性,它是一个enum,定义如下:
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.
此时我认为使用enum 是不可能的,但快速谷歌搜索返回:http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/7eb1a2ca-6c1b-4440-b40e-012db98ccb0a
此页面列出了两个答案,其中一个似乎忽略了问题,并建议在 Azure 存储中使用 enum 即可。
现在,我不需要将 enum 存储在 Azure 表存储中,我也可以存储相应的 int,但是,我确实需要在 WCF 服务中公开此属性.
我尝试让属性使用get 和set 从存储的integer 中返回enum,并通过在我的DataContext 上使用WritingEntity 事件从Azure 中删除此属性,但是在触发该实体的事件之前,我得到了该异常。
此时,我不知所措,我不知道我还能做些什么才能在 WCF 中将此属性作为 enum,但让 Azure 仅存储 int。
【问题讨论】:
标签: visual-studio-2010 enums azure wcf azure-table-storage