Вот моя проблема. Класс, который определяет порядок, имеет свойство 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
невозможно, но быстрый поиск в Google возвратил это: http://social.msdn.microsoft.com/Forums/en-US/windowsazure/thread/7eb1a2ca-6c1b-4440-b40e-012db98ccb0a
На этой странице перечислены два ответа, один из которых, кажется, игнорирует проблемы и предполагает, что использование enum
в Azure Storage в порядке.
Теперь мне не нужно хранить enum
в хранилище таблиц Azure как таковое, я мог бы также сохранить соответствующий int
, однако мне нужно, чтобы это свойство отображалось в службе WCF.
Я попытался использовать свойство get
и set
для возврата enum
из сохраненного integer
и удалить это свойство из Azure с помощью события WritingEntity
на моем DataContext
, но я получаю это исключение до того, как событие для этого объекта запущено.
В этот момент я в недоумении, я не знаю, что еще я могу сделать, чтобы это свойство в WCF было enum
, но у Azure есть только int
.