Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 20726|Respuesta: 0

[Fuente] Diferencias entre .net IQueryable e IList

[Copiar enlace]
Publicado en 22/8/2016 11:22:07 | | |

IList (IList<T>) crea inmediatamente datos persistentes en memoria, que no implementan "ejecución diferida", y si la entidad cargada tiene entidades asociadas, la entidad asociada no se cargará (ni inmediatamente ni de forma perezosa).

IQeurable <T>no crea inmediatamente datos persistentes en memoria, sino que solo carga datos en memoria si se atraviesan (por ejemplo, a través de forreach), se convierten en una lista, etc., y pueden lograr una "ejecución diferida"; si la entidad cargada actualmente tiene asociaciones, esta entidad asociada puede cargarse en el siguiente acceso.

Mira el siguiente fragmento de código:
//IList的情况
IList users = res. ToList(); Los usuarios han sido cargados en memoria, pero la entidad asociada (UserInfos) para cada usuario no lo ha sido
                       se carga, así que la siguiente línea de código no pasa bien
var ss = usuarios. Donde (p => p.UserInfos.ID != 3); El error se reporta aquí porque la entidad UserInfos de P no puede cargarse

Situación de IQuerable
Usuarios IQueryables = res. AsQueryable(); los usuarios no se cargan inmediatamente, y la entidad asociada puede obtenerse mediante "carga perezosa"
                                   Entiendo
var ss = usuarios. Donde (p => p.UserInfos.ID != 3); Aquí se obtuvo con éxito la SS correspondiente




Anterior:.net realiza desarrollo en WeChat para obtener información del usuario y función de escaneo [con código fuente]
Próximo:Pide una orden de Alipay para monitorizar el uso de discos, @小渣渣
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com