2011-02-03 38 views
0

在我的實體類,我用枚舉作爲一個關鍵屬性:枚舉作爲RIA服務主要

[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應用程序。

我不知道什麼是錯的,但我obtaint此錯誤:

屬性「MultimediaType.Id」被標記爲關鍵屬性,但它不是序列化。您是否缺少DataMemberAttribute?

你知道我做錯了什麼嗎?非常感謝!

回答