Я пытаюсь вручную создать службу данных 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 is invalid property). Единственный ответ, который я видел, по крайней мере, разрешает ошибку - отметить свойство enum
как игнорируемое, например:
[System.Data.Services.IgnoreProperties("Status")]
public class Order ...
Это работает, но это заставляет вас "опускать" ценную информацию с уровня сервиса. Существуют ли другие варианты работы с значениями перечисления в службах данных WCF?
РЕДАКТИРОВАТЬ: Обратите внимание, что это службы передачи данных WCF (aka Astoria). Это не сырые службы WCF, и в этом случае ответы более ясны.