Я пытаюсь представить класс модели с помощью WCF Data Services со свойством ObservableCollection<int>
. Когда я делаю это, служба данных WCF выдает:
Сервер обнаружил ошибку при обработке запроса. Исключение
сообщение 'Свойство' MyProperty 'для типа' MyProject.MyClass '
не является действительным свойством. Свойства, типы которых являются коллекцией
примитивы или сложные типы не поддерживаются. '
Это выглядит как довольно серьезное ограничение.
Мне удалось обойти эту проблему, искусственно введя новую обертку сущности для представления int
:
[DataContract]
public class SelectionEntity
{
[DataMember]
public int Id { get; set; }
[DataMember]
public int Index { get; set; }
}
и изменение декларации моего имущества на
public ObservableCollection<SelectionEntity> MyProperty { get; set; }
Это лучшая практика? Кажется довольно неэффективным и громоздким вводить новую сущность только для того, чтобы обойти это ограничение.