Я пытаюсь вручную создать службу данных WCF, используя модель данных POCO, и не могу понять, как правильно выставить значения enum
. Предполагая простую модель, такую как:
public class Order
{
public int ID {get; set;}
public string Description {get; set;}
public OrderStatus Status {get; set;}
}
public enum OrderStatus
{
New,
InProcess,
Complete
}
Как предоставить ценную информацию в свойстве OrderStatus
через службу данных OData WCF?
Если вы ничего не делаете, служба данных генерирует ошибку времени выполнения (enum является недействительным свойством). Единственный ответ, который я видел, по крайней мере, устраняющий ошибку, - пометить свойство enum
как игнорируемое, например:
[System.Data.Services.IgnoreProperties("Status")]
public class Order ...
Это работает, но заставляет вас "опускать" ценную информацию из сервисного уровня.
Существуют ли другие варианты работы со значениями перечисления в службах данных WCF?
РЕДАКТИРОВАТЬ: Обратите внимание, это Службы данных WCF (он же Astoria). Это не необработанные сервисы WCF, в этом случае ответы более ясны.