Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 20726|Resposta: 0

[Fonte] Diferenças entre .net IQueryable e IList

[Copiar link]
Publicado em 22/08/2016 11:22:07 | | |

IList (IList<T>) imediatamente cria dados persistentes na memória, que não implementam "execução diferida", e se a entidade carregada tiver entidades associadas, a entidade associada não será carregada (nem imediatamente nem preguiçosamente).

O IQeurable <T>não cria imediatamente dados persistentes na memória, mas só carrega dados na memória se for percorrido (por exemplo, por forreach), convertido em lista, etc., e pode alcançar a "execução diferida"; se a entidade atualmente carregada tiver associações, essa entidade associada pode ser carregada pelo próximo acesso.

Veja o seguinte trecho de código:
//IList的情况
IList users = res. ToList(); Os usuários foram carregados na memória, mas a entidade associada (UserInfos) para cada usuário não foi carregada
                       é carregado, então a próxima linha de código não passa suavemente
var ss = usuários. Onde(p => p.UserInfos.ID != 3); O erro é reportado aqui porque a entidade UserInfos do P não pode ser carregada

Situação do IQuerable
Usuários IQueryables = res. AsQueryable(); Os usuários não são carregados imediatamente, e a entidade associada pode ser obtida por meio de "carregamento preguiçoso"
                                   Peguei
var ss = usuários. Onde(p => p.UserInfos.ID != 3); A SS correspondente foi obtida com sucesso aqui




Anterior:.net faz desenvolvimento no WeChat para obter informações do usuário e função de varredura [com código-fonte]
Próximo:Peça um pedido Alipay para monitoramento do uso do disco, @小渣渣
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com