Enum как ключ в RIA Services - PullRequest
       39

Enum как ключ в RIA Services

0 голосов
/ 03 февраля 2011

В моем классе сущностей я использую enum в качестве ключевого свойства:

[DataContract]
public class MultimediaType
{
    [DataMember]
    [Key]
    public Identificator Id { get; set; }
    [DataMember]
    public string Name { get; set; }
    [DataMember]
    public string Description { get; set; }

    [DataContract]
    public enum Identificator
    {
        [EnumMember]
        Image = 1,
        [EnumMember]
        Video = 2,
        [EnumMember]
        Sound = 3
    }
}


[EnableClientAccess()]
public class DomService : DomainService
{
    List<MultimediaType> _multimediaTypes = new List<MultimediaType>()
    {
        new MultimediaType()
        {
            Id = MultimediaType.Identificator.Image,
            Name = "Image",
            Description = "This is type for all images."
        },
        new MultimediaType()
        {
            Id = MultimediaType.Identificator.Video,
            Name = "Video",
            Description = "This is type for all videos."
        },
        new MultimediaType()
        {
            Id = MultimediaType.Identificator.Sound,
            Name = "Sound",
            Description = "This is type for all sounds."
        },
    };

    [Query]
    public IQueryable<MultimediaType> GetMultimediaTypes()
    {
        return _multimediaTypes.AsQueryable();
    }
}

Мой клиент - приложение SilverLight, которое использует мою службу домена.

Понятия не имею, что не так, но я получаю эту ошибку:

Свойство MultimediaType.Id помечено как ключевое свойство, но оно не сериализуемо. Вам не хватает DataMemberAttribute?

Ты хоть представляешь, что я делаю не так? Большое спасибо!

1 Ответ

0 голосов
/ 03 февраля 2011

EnumMemberAttribute: Указывает, что поле является членом перечисления и должно быть сериализовано.

Проверьте следующие строки:

http://msdn.microsoft.com/en-us/library/system.runtime.serialization.enummemberattribute(v=vs.95).aspx

Совместное использование Enum сСлужба WCF

Также обратите внимание на примечания и пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...