Silverlight DomainService不从include()返回信息

时间:2011-03-13 21:33:06

标签: linq silverlight-4.0 ria iqueryable domainservices

我的RIA DomainService中有两个查询。一个是使用linq的简单获取,另一个是使用peramiter和linq join的get。使用include()时的简单获取将我想要的数据返回给我的silverlight数据网格。加入的那个没有,为什么?

这是我的两种方法。最重要的是有效的。

    public IQueryable<UserProfile> GetUserProfiles()
    {
        // GetUserProfiles order by sum of carma
        return from up in ObjectContext.UserProfiles.Include("PriceRange")
               where up.Active
               orderby up.SumKarma descending 
               select up;
    }

    public IQueryable<UserProfile> GetUserProfilesByCountyID(int searchCountyID)
    {
        return from up in ObjectContext.UserProfiles.Include("PriceRange")
               join upsc in ObjectContext.UserProfileSearchCounties on up.IDUserProfile equals upsc.IDUserProfile
               where up.Active && upsc.IDSearchCounty == searchCountyID
               orderby up.SumKarma descending
               select up;

    }

更新:来自Cubicle.Jockey的评论我能够解决这个问题。以下是我最终使用的内容。

    public IEnumerable<UserProfileSearchCounty> GetUserProfilesByCountyID(int searchCountyID)
    {
        return (from upsc in ObjectContext.UserProfileSearchCounties.Include("UserProfile").Include("UserProfile.PriceRange")
                where upsc.UserProfile.Active && upsc.IDSearchCounty == searchCountyID
                orderby upsc.UserProfile.SumKarma descending
                select upsc).ToList();
    }  

1 个答案:

答案 0 :(得分:0)

所有数据都没有被返回,因为您正在进行选择,这只是UserProfile而不是您正在执行的已加入查询。