Panoramica
Una delle cose di cui ho chiesto molto su questo sito è LINQ . Le domande che ho posto sono state ampie e varie e spesso non hanno molto contesto dietro di loro. Quindi, nel tentativo di consolidare le conoscenze acquisite su Linq, sto pubblicando questa domanda al fine di mantenerla e aggiornarla con ulteriori informazioni mentre continuo a conoscere LINQ.
Spero anche che si rivelerà una risorsa utile per altre persone che vogliono conoscere LINQ.
Che cos'è LINQ?
Da MSDN :
Il progetto LINQ è un nome in codice per un set di estensioni a .NET Framework che comprende operazioni di query, set e trasformazione integrate nel linguaggio. Estende C # e Visual Basic con la sintassi del linguaggio nativo per le query e fornisce librerie di classi per sfruttare queste funzionalità.
Ciò significa che LINQ fornisce un modo standard per eseguire query su una varietà di origini dati utilizzando una sintassi comune.
Quali sapori di LINQ ci sono?
Attualmente ci sono alcuni provider LINQ diversi forniti da Microsoft:
- Linq to Objects che consente di eseguire query su qualsiasi oggetto IEnumerable.
- Linq to SQL che consente di eseguire query su un database in modo orientato agli oggetti.
- Linq to XML che consente di eseguire query, caricare, convalidare, serializzare e manipolare documenti XML.
- Linq alle Entità come suggerito da Andrei
- Linq a Dataset
Ce ne sono alcuni altri, molti dei quali sono elencati qui .
Quali sono i vantaggi?
- Modo standardizzato per eseguire query su più origini dati
- Compilare la sicurezza dei tempi delle query
- Modo ottimizzato per eseguire operazioni basate su set negli oggetti di memoria
- Possibilità di eseguire il debug delle query
Cosa posso fare con LINQ?
Chook fornisce un modo per generare file CSV
Jeff mostra come rimuovere i duplicati da un array
Bob ottiene un elenco ordinato distinto da un databile
Marxidad mostra come ordinare un array
Dana ottiene aiuto nell'implementazione di un ordinamento rapido usando Linq
Dove iniziare?
Una sintesi di collegamenti da domanda di GateKiller sono al di sotto :
Scott Guthrie fornisce un intro di Linq sul suo blog
una panoramica delle LINQ su MSDN
ChrisAnnODell suggerisce di provare :
Di cosa ho bisogno per usare LINQ?
Linq è attualmente disponibile in VB.Net 9.0 e C # 3.0, quindi avrai bisogno di Visual Studio 2008 o superiore per ottenere tutti i vantaggi. (Puoi sempre scrivere il tuo codice nel blocco note e compilarlo usando MSBuild)
C'è anche uno strumento chiamato LinqBridge che ti permetterà di eseguire Linq come le query in C # 2.0.
Suggerimenti e trucchi con LINQ
Questa domanda ha alcuni modi complicati per utilizzare LINQ