문제

RIA 서비스가 포함 된 Silverlight 3 앱이 있으며 DataPager가 초기로드 크기에 대한 데이터 만로드 한 다음 더 이상 다시로드하지 않는 문제가 발생합니다. 데이터의 두 페이지 (pagesize = 10, loadsize = 20입니다.) 119 페이지의 데이터를 올바르게 표시하지만 3 페이지로 이동하면 Datagrid 및 Dataforms에 아무것도 나타나지 않습니다.

이것은 내 도메인 데이터 소스입니다.

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

다음은 데이터거의 스 니펫입니다.

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

그리고 여기 도메인 서비스 쿼리가 있습니다.

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

꽤 간단하여 무엇이 빠졌는지 잘 모르겠습니다. 모든 도움이 감사하겠습니다.

도움이 되었습니까?

해결책

이 작업을 수행하는 데 너무 많은 시간을 소비 한 후 마침내 문제를 알아 냈습니다.이 문제에 대한 경고 메시지를 받았기 때문에 RIA 서비스 기술의 버그가 더 많다고 생각합니다.

간단한 수정은 getCaseloads ()가 반환하는 컬렉션을 주문하는 것입니다. 나는 이것을 좋아했고 그것은 효과가 있었다.

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

이 작은 문제를 해결하는 데 얼마나 많은 시간이 걸렸는지 놀랍습니다.

다른 팁

같은 문제가 있었는데 RIA 서비스 개요 문서에 나와있는 예에서 LINQ에서 EF 대신 LINQ에서 SQL을 사용하고 있다는 것을 알 수 있습니다. 둘 사이의 차이가 있어야합니다.

해결 방법을 게시 해 주셔서 감사합니다. 많은 시간의 멍청이를 저장했습니다 :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top