Guía para principiantes de LINQ [cerrado]


Durante la beta de Stack Overflow, he visto bastantes preguntas sobre LINQ SQL, pero no sé nada al respecto... suena muy interesante.

¿Qué es LINQ y cómo empiezo?

Enlaces guías o documentación un bono:)

PD: Soy un desarrollador de C # de mucho tiempo que usa diariamente Datatables y SQL parametrizado

Author: dsolimano, 2008-08-11

16 answers

LINQ significa Language Integrated Query y es un conjunto de extensiones para.NET que le permiten consultar datos de la misma manera desde el código y no está vinculado a una fuente de datos específica. Puede usar el mismo código LINQ para SQL Server, XML, objetos, conjuntos de datos y Entidades.

Aquí hay una buena introducción de Scott Guthrie

Este es un buen conjunto de 101 Muestras de LINQ

 37
Author: SitWalkStand,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-11 18:28:12

Dos libros que deberías considerar para aprender sobre LINQ, ambos de Manning:

El primero fue, con mucho, el mejor escrito, y me enseñó casi tanto sobre LINQ en un solo capítulo que el segundo en todo un libro. LINQ está construido sobre una gran cantidad de cimientos, y C# in Depth lo construye desde el suelo.

El segundo libro es mucho mejor que nada, y aprenderás cosas específicamente sobre LINQ que no aprenderás en la primera. Pero el primer libro le dará una base mucho mejor, y pone al menos una perspectiva simbólica en lugar de seguir más o menos ciegamente la línea de MS. Por lo tanto, estoy recomendando C# en Profundidad en primer lugar para aprender LINQ.

Mike

 11
Author: Mike,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-11 18:51:56
 7
Author: KP.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-11 18:33:40

Recomiendo el wiki Enganchado En LINQ. Tienen algo de gran información introductoria, así como más información en profundidad y muestras de todos los operadores.

He enumerado muchas referencias de LINQ en las notas del show para Herding Code Episodio 10 (en LINQ). Uno de mis favoritos es un artículo de la revista MSDN que explica cómo funciona LINQ desde una perspectiva de framework de una manera que realmente me ayudó a entender cómo funciona.

 7
Author: Jon Galloway,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-14 08:06:52

Aquí hay un par de buenos tutoriales (video) de OakLeaf Systems:

Http://oakleafblog.blogspot.com/2007/04/two-new-linq-to-sql-video-segments-from.html http://oakleafblog.blogspot.com/2007/05/mike-taulty-posts-six-new-linq-to-xml.html

EDIT: Acabo de encontrarme con esta gran herramienta creada por el autor de C# in a Nutshell: http://www.linqpad.net / Incluye un montón de grandes muestras fáciles de seguir.

 7
Author: urini,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-19 07:39:44

Te sugiero encarecidamente que juegues con LINQPad ( http://www.linqpad.net ), es una herramienta gratuita que permite (umong otras cosas) conectarse a un servidor de base de datos y consultarlo usando LINQ a SQL. Elimina el dolor de tener que configurar aplicaciones de consola para hacer la reproducción.

 5
Author: Aaron Powell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-26 03:05:05

Linq es la abreviatura de "Language integrated query."Es un conjunto de mejoras de lenguaje integradas en C# y VB. Básicamente, lo que obtienes es un montón de operadores de consulta estándar que se pueden aplicar a cualquiererableumerable de tipo T. Hay muchos proveedores de linq diferentes para tipos específicos de datos, por ejemplo, hay linq a xml, linq a entidades, incluso linq a sharepoint.

Para comenzar con linq, en todas sus formas, sugiero el libro Pro Linq de Joseph C. Rattz. Es una excelente visión general de Linq. Adopta un enfoque básico, primero describiendo todas las características del lenguaje (como Expresiones Lambda y Árboles de Expresiones) en los que se construye Linq, y luego pasando a algunas implementaciones de proveedores linq estándar.

Además, aquí hay un artículo bastante bueno de MSDN que describe Linq: LINQ:. NET Language-Integrated Query

Ahora, Linq to Sql es un proveedor de linq escrito específicamente para SQL Server. Incluido en este proveedor es un OR / M, que da usted algunas funciones útiles-dandy (como escribir todas sus tablas sql, por lo que obtener una vista robusta de tiempo de diseño de su esquema de base de datos.) Es totalmente impresionante, y para mí, ha acelerado en gran medida el tiempo de desarrollo cuando se trabaja con una base de datos sql. El libro que recomendé anteriormente también tiene una gran sección sobre el uso de Linq Para Sql. También, aquí hay un buen artículo de la" guía para principiantes " de MSDN: Linq A SQL: Consulta integrada con el lenguaje. NET para Datos Relacionales

 4
Author: Evan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-11 19:20:21

Para practicar sin la necesidad de escribir código wrap solo para ejecutar linq-queries que podría usar linqpad.net

 3
Author: Davide Vosti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-19 08:08:55

Aquí tienes. Comencé con la explicación/ejemplos de ScottGu y fui de allí:

Http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx

 1
Author: TheSmurf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-11 18:23:55

Creo que este libro:

C# en Profundidad

De Jon Skeet es una excelente guía para programadores que se ajusta a tus necesidades exactas (pasando de C# anterior a C#3.5).

Además, si lo pide, también obtiene la copia electrónica, algo que más editores deberían hacer (excelente tanto para Kindles como para búsquedas).

 1
Author: Keith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-11 18:46:50

Un poco viejo pero sigue siendo relevante: http://www.developerzen.com/2007/09/17/introduction-to-linq /

 1
Author: Eran Kampf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-14 07:59:30

De MSDN, aquí hay algunos documentos, escritos por Anders y otros:

PS después de escribir esto, veo que alguien ya ha vinculado a estos, pero enterrado dentro de un párrafo, así que voy a mantenerlos extraídos aquí en forma de lista también.

 1
Author: pbh101,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-14 08:09:24

Hay un VB.Net versión de la página de ejemplos de código 101 también -

Http://msdn.microsoft.com/en-us/vbasic/bb688088.aspx

 1
Author: TheoJones,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-26 15:48:53

Aquí hay un podcast (plug desvergonzado) que cubre LINQ de uno de los autores de LINQ en Acción.

Deep Fried Bytes-Episodio 14: LINQ'ing el futuro del desarrollo con Jim Wooley

Muchas cosas geniales en ese programa que también pueden ayudarte.

 1
Author: Keith Elder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-09-22 19:26:11

Aquí hay un tutorial paso a paso sobre cómo incorporar LINQ con sus aplicaciones web dentro asp.net. Espero que esto ayude http://www.progtalk.com/viewarticle.aspx?articleid=68

 1
Author: Janani Krish,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-07 05:17:56

Puede ser útil para principiantes en linq. La guía paso a paso con imágenes. http://readerstimepass.blogspot.com/2010/11/step-by-step-guide-to-implement-linq-to.html

 1
Author: Nagendran,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-18 10:47:15