2012-05-29 64 views
0

内的孩子我有一个像这样WCF数据服务 - 扩大儿童

public class Permission 
{ 
    IEnumerable<Permission> Children {get;set;} 
} 

实体如何指定一个扩展查询去深如需要,目前我使用

public IEnumerable<IManagePermission> GetRootPermissions() 
     { 
      return this.adminService.ManagePermissionViews.Expand("Children/Children/Children/Children").Where(item=>item.ParentPermissionId == null); 
     } 

但这很糟糕,因为我不知道这个权限可能有多深嵌套,我认为调用另一个查询先找出它,然后使用该值构造嵌套参数。

但再次..苏茨基..

回答

0

有没有在协议的OData绝不目前要求这样的行为。最好的解决方案可能是使用不同的请求按需加载这些内容。

+0

理查德,这一般用于linq-to-X。 Linq和递归查询不太匹配。如果必须阻止单独的查询,那么使用递归查询的数据库视图是最佳选择。 SO有很多关于这方面的问题。 –