Search code examples
silverlightwcf-ria-services

WCF Ria Services returning complex objects with child lists


When I build my model to be returned by WCF RIA Services to silverlight, the list properties are not shown in the silverlight client.

Class:

public class Batch
{
    [DataMember]
    public DateTime Time { get; set; }

    [DataMember]
    public List<BasicInfoModel> Accepted { get; set; }

    [DataMember]
    public List<BasicInfoModel> UnAccepted { get; set; }
}

public class Batch
{
    [Key]
    [DataMember]
    public int Id { get; set; }

    [DataMember]
    public string Name { get; set; }
}

When in the client, it seems the Lists are not generated, for example, this is my loaded callback event:

private void Callback(LoadOperation<Batch> loadOperation)
{
     //there is no such property as `Accepted`
     var acceptedList = loadOperation.Entities.FirstOrDefault().Accepted;
}

Am I doing something wrong?


Solution

  • I suppose, you've missed DataContract attribute, e.g.

    [DataContract]
    public class Batch
    {
        [DataMember]
        public DateTime Time { get; set; }
    
        [DataMember]
        public List<BasicInfoModel> Accepted { get; set; }
    
        [DataMember]
        public List<BasicInfoModel> UnAccepted { get; set; }
    }
    

    http://msdn.microsoft.com/en-us/library/ms733127.aspx