Antecedentes: durante el próximo mes, daré tres charlas sobre, o al menos incluidas LINQ
en el contexto de C#
. Me gustaría saber a qué temas vale la pena prestarles una buena atención, en función de lo que las personas puedan encontrar difícil de entender o de lo que puedan tener una impresión errónea. No me referiré específicamente LINQ
a SQL
Entity Framework, excepto como ejemplos de cómo las consultas se pueden ejecutar de forma remota utilizando árboles de expresión (y generalmente IQueryable
).
Entonces, ¿qué te ha resultado difícil LINQ
? ¿Qué has visto en términos de malentendidos? Los ejemplos pueden ser cualquiera de los siguientes, ¡pero no se limite!
- Cómo
C#
trata el compilador las expresiones de consulta - Expresiones lambda
- Árboles de expresión
- Métodos de extensión
- Tipos anónimos
IQueryable
- Ejecución diferida vs inmediata
- Streaming vs ejecución amortiguada (por ejemplo, OrderBy es diferido pero almacenado)
- Variables locales escritas implícitamente
- Lectura de firmas genéricas complejas (por ejemplo, Enumerable.Join )