principiantes - mayor o igual linq
Aprendiendo sobre LINQ (10)
Algunos consejos de LINQ:
- Aplicar filtros antes de una unión para mejorar el rendimiento de la consulta
- Filtrar consultas LINQ utilizando la comparación de referencias de objetos
- Aplicar agregados a colecciones vacías en consultas de LINQ a SQL
- Retraso al cargar una propiedad en LINQ a SQL
- Usar funciones con valores de tabla con carga ansiosa activada
- Coloque las uniones en el orden correcto en una consulta LINQ to Objects
- Componer una consulta LINQ dentro de un bucle
http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp
Visión de conjunto
Una de las cosas sobre las que he preguntado mucho en este sitio es LINQ . Las preguntas que hice han sido amplias y variadas y, a menudo, no tienen mucho contexto detrás de ellas. Por lo tanto, en un intento de consolidar el conocimiento que he adquirido en Linq, estoy publicando esta pregunta con el objetivo de mantenerla y actualizarla con información adicional a medida que continúo aprendiendo sobre LINQ.
También espero que resulte ser un recurso útil para otras personas que quieran aprender sobre LINQ.
Que es LINQ?
Desde LINQ :
El proyecto LINQ es un nombre en clave para un conjunto de extensiones de .NET Framework que abarca operaciones de consulta, configuración y transformación integradas al lenguaje. Extiende C # y Visual Basic con sintaxis de lenguaje nativo para consultas y proporciona bibliotecas de clases para aprovechar estas capacidades.
Lo que esto significa es que LINQ proporciona una forma estándar de consultar una variedad de fuentes de datos utilizando una sintaxis común.
¿Qué sabores de LINQ hay?
Actualmente hay algunos proveedores de LINQ diferentes proporcionados por Microsoft:
- Linq to Objects que le permite ejecutar consultas en cualquier objeto IEnumerable.
- Linq to SQL que le permite ejecutar consultas en una base de datos de forma orientada a objetos.
- Linq a XML que le permite consultar, cargar, validar, serializar y manipular documentos XML.
- Linq a entidades según lo sugerido por Andrei
- Linq a Dataset
Hay bastantes otros, muchos de los cuales se enumeran here .
¿Cuales son los beneficios?
- Forma estandarizada para consultar múltiples fuentes de datos
- Compilar la seguridad del tiempo de las consultas
- Manera optimizada para realizar operaciones basadas en conjuntos en objetos de memoria
- Posibilidad de depurar consultas
Entonces, ¿qué puedo hacer con LINQ?
Chook proporciona una forma de generar archivos CSV
Jeff muestra cómo eliminar duplicados de una matriz
Bob obtiene una lista ordenada distinta de una tabla de datos
Marxidad muestra cómo ordenar una matriz
Dana recibe ayuda para implementar Quick Sort Using Linq
¿Donde empezar?
A continuación se incluye un resumen de los enlaces de la pregunta de GateKiller :
Scott Guthrie ofrece una introducción a Linq en su blog
Una descripción general de LINQ en MSDN
ChrisAnnODell sugiere revisar:
¿Qué necesito para usar LINQ?
Linq está actualmente disponible en VB.Net 9.0 y C # 3.0, por lo que necesitará Visual Studio 2008 o superior para obtener todos los beneficios. (Siempre puedes escribir tu código en el bloc de notas y compilarlo usando MSBuild)
También hay una herramienta llamada LinqBridge que le permitirá ejecutar consultas tipo Linq en C # 2.0.
Consejos y trucos con LINQ
Esta pregunta tiene algunas formas complicadas de usar LINQ
Algunas advertencias sobre el uso de LINQ to SQL :
¿Microsoft realmente mató a LINQ to SQL?
También hay cierta controversy sobre la primera versión de Entity Framework , incluida una petition .
Aquí hay 101 muestras de Linq que son una gran referencia si solo desea un ejemplo sintáctico rápido.
No olvidemos tampoco a LinqPad :)
Creo que la respuesta a "¿Qué sabores de LINQ hay?" está incompleto Antes que nada, puedes crear tu propio "sabor". Sí, es una tarea avanzada, pero ahora hay muchas implementaciones diferentes de LINQ.
Aquí está la lista de proveedores de LINQ existentes (más algunos recursos adicionales para aprender LINQ) en el blog de Charlie Calvert: Enlaces a LINQ .
Y también hay una excelente serie de publicaciones de blog de Matt Warren sobre cómo crear su propio proveedor de LINQ: LINQ: Creación de una serie de proveedores de IQueryable
En mi humilde opinión, un beneficio que se pasa por alto, pero que es importante, es la eficiencia de codificación de LINQ, por ejemplo, cuánto se puede lograr con tan poco código. Personalmente encuentro la sintaxis de consulta fácil de leer y comprender.
LINQ a entidades:
- Recorridos de video
- Video del canal 9
- Preguntas frecuentes sobre el marco de la entidad
- Rendimiento del marco de la entidad
Tengo muchas más personas etiquetadas en Delicious.com .
Mencione LINQ to Entities desde ADO.NET Entity Framework será un módulo .NET importante.
Mis 2 centavos, lea los capítulos "11 expresiones de consulta y LINQ to Objects" y "12 LINQ beyond collections" en el libro "C # in Depth" para comprender cómo funciona LINQ.
Obtenga el libro Linq in Action , es una lectura fácil para un libro de códigos y realmente le enseña a usar Linq y las nuevas características de .NET 3.5 algunas de las partes geniales que ponen para el lenguaje.
Para la práctica Linq
Si quieres algo de práctica en LINQ con ejercicios y respuestas, realmente fácil de configurar y, en mi opinión, impresionante:
https://github.com/walkhard/linq-exercises
Descargar desde git, abrir en Visual Studio. Tu trabajo es hacer que las pruebas pasen.
[divulgación: aprendí algo de él y contribuyo al proyecto, así que sí, creo que es una forma increíble, rápida y eficiente de aprender.]