Вот моя проблема. Класс, который определяет порядок, имеет свойство 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.