Pergunta

Eu tenho um aplicativo Silverlight 3 com RIA Serviços e estou correndo em um problema onde meu DataPager é só carregar os dados para o loadsize inicial e, em seguida, deixou de recarga. Ele traz duas páginas de dados (PageSize = 10, LoadSize = 20.) Ele está mostrando corretamente 119 páginas de dados, mas quando eu navegar até a página 3, aparece nada em meu datagrid e DataForms.

Esta é a minha Fonte Data Domain:

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

Aqui está o trecho para o DataPager:

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

E aqui está a consulta do Serviço de Domínio:

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

É bastante simples para que eu não sei o que está faltando. Qualquer ajuda seria apreciada;

Foi útil?

Solução

Depois de passar tempo demais tentando começar este trabalho eu finalmente descobri o problema, que eu acho que é mais um bug com a tecnologia RIA Serviços porque eu deveria ter começado algum tipo de mensagem de aviso sobre isso.

A correção é simples para ordenar a coleção que está sendo retornado por GetCaseLoads (). Eu fiz assim e funcionou:

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

surpreendente quanto tempo resolver este pequeno problema levou.

Outras dicas

Eu tive o mesmo problema, eu posso ver a partir do exemplo dado na documentação RIA Visão Geral dos Serviços que eles estão usando LINQ to SQL em vez de LINQ to EF -. Deve ser algo com a diferença entre os dois

Obrigado por postar a solução alternativa, me salvou muitas horas de faffing:)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top