【问题标题】:How to return hierarchical graph with RIA services如何使用 RIA 服务返回层次图
【发布时间】:2011-11-15 08:47:38
【问题描述】:

我想要一个 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 的端到端模型奇偶校验,这在我的情况下不是一个选项。)

【问题讨论】:

    标签: silverlight wcf-ria-services


    【解决方案1】:

    尝试将 [Include] 属性添加到 Parent & Children 属性。

    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() 方法强制它们立即加载。

    【讨论】:

    • 我还需要在 Include 中添加一个 Association 属性。
    • 啊。我自己不必这样做。它对它想要什么非常挑剔。很高兴听到您解决了问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多