DataPager无法在Silverlight 3 + RIA Services中使用

时间:2009-07-30 17:11:40

标签: silverlight silverlight-3.0 wcf-ria-services datapager

我有一个带有RIA服务的Silverlight 3应用程序,我遇到了一个问题,我的DataPager只加载初始加载的数据,然后不再重新加载。它会显示两页数据(PageSize = 10,LoadSize = 20。)它正确显示119页数据,但当我导航到第3页时,我的数据网格和数据表中没有任何内容。

这是我的域数据源:

<riaControls:DomainDataSource x:Name="_dds" QueryName="GetCaseLoads" AutoLoad="True" PageSize="10" LoadSize="20">
    <riaControls:DomainDataSource.DomainContext>
        <domain:FooContext />
    </riaControls:DomainDataSource.DomainContext>
</riaControls:DomainDataSource>

以下是DataPager的代码段:

<data:DataPager Source="{Binding Data, ElementName=_dds}" />

这是域服务查询:

[RequiresAuthentication()]
public IQueryable<CaseLoad> GetCaseLoads()
{
    // Return all case loads
    return this.Context.CaseLoadSet;
}

这很简单,所以我不确定缺少什么。任何帮助,将不胜感激;

2 个答案:

答案 0 :(得分:3)

花了太多时间试图让这个工作起来我最终想出了问题,我认为这更像是RIA服务技术的一个错误,因为我应该得到一些关于此的警告信息。

简单的解决方法是订购GetCaseLoads()返回的集合。我是这样做的,它起作用了:

[RequiresAuthentication()]
public IQueryable<CaseLoad> GetCaseLoads()
{
    // Return all case loads
    return this.Context.CaseLoadSet.OrderBy(caseLoad=>caseLoad.fkUserId);
}

惊人的解决这个小问题需要多少时间。

答案 1 :(得分:0)

我有同样的问题,我可以从RIA服务概述文档中给出的示例中看到他们使用的是LINQ to SQL而不是LINQ to EF - 必须是两者之间存在差异的东西。

感谢您发布解决方法,为我节省了数小时的费力:)

相关问题