如何使用RIA服务返回层次结构图

时间:2011-11-15 00:43:16

标签: silverlight wcf-ria-services

我想要一个DomainService如下:

 [EnableClientAccess]
    public class FamilyService : DomainService
    {
        public IQueryable<Person> GetPeople() // for the time being fake out a set of people
        {
            var people = new[]{ new Person(), ... };
            return people.AsQueryable();
        }
    }

Person类应该足够简单:

public class Person
    {
        [Key]
        public Guid Id { get; set;  }
        public Person Parent { get; set;  }
        public String Name { get; set; }
        public Person[] Children { get; set; }
    }

在Silverlight客户端中,生成的Person类不包含Parent或Children属性。我错过了什么?

(也许我应该指出,虽然这显然是一个模拟的例子,但我计划使用松散耦合的方法,这模仿。实际上我的大多数数据都不存在于数据库中绝大多数RIA样本使用从数据库到UI的端到端模型奇偶校验,在我的情况下这不是一个选项。)

1 个答案:

答案 0 :(得分:1)

尝试将[Include]属性添加到Parent&amp;儿童财产。

public class Person
{
    [Key]
    public Guid Id { get; set;  }
    [Include]
    public Person Parent { get; set;  }
    public String Name { get; set; }
    [Include]
    public Person[] Children { get; set; }
}

如果Person类出自DB(在您的真实应用程序中)并且您正在使用EF,那么您需要使用.Include()方法强行加载它们。