Tengo algunos métodos que devuelven una lista de T como dicen GetAllEvents. En algunos casos, necesito filtrar esa lista de eventos (o lo que sea que mi Lista sea) por fecha u otra propiedad en los ítems.LINQ si regreso Lista <T> O IEnumerable <T> cuando todavía puede hacer más tarde
Sé que las consultas LINQ pueden estar "encadenadas" o tener x número de líneas que las refinan aún más y la consulta no se ejecutará hasta cierto punto cuando realmente las necesite en una declaración no lineal (corregirme) si me equivoco en esta creencia)
Mi pregunta es, si mi método GetAllXXX devuelve una Lista de lo que sea que obtengo, es el método .ToList() que estoy usando al final de mi código GetAllXXX ejecutando el LINQ ? ¿Debería devolver IEnumerable en su lugar? Si solo para aquellos casos en los que necesito hacer algo más con los "resultados" ANTES de que realmente se ejecute la consulta.
Aquí hay un ejemplo de mi preocupación: tengo que decir 1000 eventos. GetAllEvents recuperará los 1000 y me dará una lista de ellos. Luego, dependiendo de en qué página esté el usuario, solo puede mostrar eventos de Hoy, esta semana o de una determinada categoría. Idealmente, cuando llegue el momento en que le muestro al usuario los 5 eventos que suceden hoy, realmente no quiero pasar los 1000 a través del cable y luego truncarlos a los 5 que realmente quieren. Sí, sé que todo es del lado del servidor en este punto, pero si todavía está asignando memoria para el 1000, estoy tratando de evitar esto.
¿Alguna sugerencia o sugerencia?
* No devuelva 'List' *. Pero puede considerar devolver 'IList '. –