Службы данных WCF и ObservableCollection <int> - PullRequest
0 голосов
/ 26 января 2012

Я пытаюсь представить класс модели с помощью 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; }

Это лучшая практика? Кажется довольно неэффективным и громоздким вводить новую сущность только для того, чтобы обойти это ограничение.

1 Ответ

1 голос
/ 26 января 2012

Это известное ограничение выпуска V2. У нас есть V3 CTP, который позволяет свойства, которые являются коллекциями примитивных или сложных типов. Вы можете скачать его здесь: http://blogs.msdn.com/b/astoriateam/archive/2011/10/13/announcing-wcf-data-services-oct-2011-ctp-for-net-4-and-silverlight-4.aspx.

...