Carregamento de dados assíncronos no quadro de entidades?
-
20-09-2019 - |
Pergunta
Alguém ouviu falar de execução assíncrona de uma consulta de EF?
Quero que meu controle de itens seja preenchido exatamente quando o formulário carregar e o usuário deverá poder visualizar a lista enquanto o restante dos itens ainda está sendo carregado.
Talvez dividindo automaticamente a execução em painéis de itens (ou seja, poucas consultas para cada execução), tudo na mesma conexão.
Eu postei uma sugestão de recurso para Microsoft, por favor, compartilhe -os com suas idéias também.
Solução
Não querendo parecer um comercial, mas notei que a mais recente grade do Devexpress oferece recursos como esse em sua grade WPF. Essencialmente você quer carregar contagem visível Os itens primeiro e depois carregam o restante em um tópico de segundo plano para que sua interface do usuário não esteja congelando. O encadeamento de segundo plano provavelmente deve carregar outra página de cada vez e disponibilizá -los para o thread da interface do usuário.
É algo em que você gostaria de pensar com cuidado e certifique -se de acertar, ou simplesmente comprar um controle que faça o trabalho duro para você.
Outras dicas
Tiro do seu link que este é um aplicativo da web. Isso está correto?
Uma consulta deve concluir e retornar os dados antes que a renderização possa começar. Um recurso EF não o ajudará aqui. Em vez de. Veja dividir seu processo em vários processos que podem ser feitos de uma só vez.
Lembre -se de que o ASP.NET não pode retornar uma resposta a um navegador se não for feito, renderizando o HTML.
Deixe -me supor que você esteja executando uma única consulta, recuperando os resultados e exibindo -os em uma página.
Melhor opção: página seus resultados. Se você tiver 4000 registros, mostre os primeiros 50. Se você mostrar mais de 200 registros a um usuário, eles não poderão digerir tantas informações.
Se isso não atender às suas necessidades, consulte uma consulta para 50 resultados. Faça uma chamada de Ajax para os registros restantes e construa a interface do usuário a partir daí, em pedaços (de tamanho razoavelmente).