#c# #entity-framework #ria
#c# #entity-framework #ria
Вопрос:
Я пытаюсь написать расширение для сохранения результатов в DomainDatasourceView. Я могу успешно записать содержимое текущей страницы результатов, но когда я пытаюсь вызвать MoveToNextPage (), индекс страницы остается текущим. Документы MSDN по этому поводу не предоставляют никаких подробностей, кроме того, что MoveToNextPage возвращает bool при успешном переходе на следующую страницу.
Следующий пример кода приводит к бесконечному циклу, и текущая страница никогда не изменяется.
private void WriteResults(DomainDataSourceView resultsview)
{
StringBuilder csvdata = new StringBuilder();
... Do Work on current page ...
if(resultsview.CanChangePage amp;amp; resultsview.MoveToNextPage())
{
csvdata.Append(WriteResults(resultsview));
}
}
Нужно ли мне прослушивать событие PageChanged, чтобы продолжить сохранение результатов?
Нужно ли мне вызывать Load в DomainDataSource для каждой страницы?
В документах MSDN по DomainDataSourceView не приводится слишком много подробностей по этому вопросу.
[Редактировать] Поиграв еще немного, я смог определить, что перемещение…Команды страницы действительно вызывают операцию загрузки DomainDataSource, однако это другой асинхронный вызов, поэтому любая последовательная работа, которая должна быть выполнена на загруженных страницах, должна обрабатываться соответствующим образом.
Комментарии:
1. Если это асинхронный вызов, то где находится завершенное событие при перемещении страницы? Насколько я могу судить, эти методы вообще не работают, а документы msdn на pagedcollection являются полным bs