如何使用WCF RIA服务加载主详细信息数据(超过2个层次结构)

如何使用WCF RIA服务加载主详细信息数据(超过2个层次结构),wcf,service,dns,ria,Wcf,Service,Dns,Ria,我正试着让我的头围绕TreeView,并且能够做两个级别,但是我被添加第三个级别难倒了。我假设你制作了一个第三层次的模板,但我不确定这是如何加载的。我使用AdventureWorks数据库作为示例数据 我正在使用Product、ProductCategory和ProductSubCategory表 我的元数据看起来像。(只是有趣的部分) 尝试修改GetProductCategory查询,如下所示: { return this.ObjectContext.ProductCategory.I

我正试着让我的头围绕TreeView,并且能够做两个级别,但是我被添加第三个级别难倒了。我假设你制作了一个第三层次的模板,但我不确定这是如何加载的。我使用AdventureWorks数据库作为示例数据

我正在使用Product、ProductCategory和ProductSubCategory表

我的元数据看起来像。(只是有趣的部分)


尝试修改
GetProductCategory
查询,如下所示:

{
    return this.ObjectContext.ProductCategory.Include("ProductSubcategory").Include("ProductSubcategory.Product");
}
我不知道它是否适用于您的情况,您希望构建一个树,但它应该根据需要包含数据

public IQueryable<Product> GetProduct()
{
    return this.ObjectContext.Product;
}

public IQueryable<ProductCategory> GetProductCategory()
{
    return this.ObjectContext.ProductCategory.Include("ProductSubcategory");
}

public IQueryable<ProductSubcategory> GetProductSubcategory()
{
    return this.ObjectContext.ProductSubcategory.Include("Product");
}
public partial class Tree : Page
{
    public Tree()
    {
        InitializeComponent();

        AdventureWorksContext ads = new AdventureWorksContext();

        trvTree.ItemsSource = ads.ProductCategories;

        ads.Load(ads.GetProductCategoryQuery());           
    }
}
{
    return this.ObjectContext.ProductCategory.Include("ProductSubcategory").Include("ProductSubcategory.Product");
}