Informazioni su LINQ [chiuso]


189

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:

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


+1 per un ottimo post e il riferimento al blog di ScottGu. È una grande risorsa e dove inizialmente ho imparato LINQ.
Evan Plaice,

Hooked On LINQ va su qualche sito giapponese. La traduzione di Google parla di rimming e altre cose di testa che è NSW. : SI non può modificarlo per qualche motivo.
Shane,

Risposte:



6

Indica LINQ to Entities poiché ADO.NET Entity Framework sarà un importante modulo .NET.


4

Ottieni il libro Linq in azione è una lettura facile per un libro di programmazione e ti insegna davvero come usare Linq e le nuove funzionalità di .NET 3.5 alcune delle parti interessanti che inseriscono nella lingua.


4

Alcuni consigli LINQ:

  • Applicare i filtri prima di un join per migliorare le prestazioni della query
  • Filtra le query LINQ utilizzando il confronto dei riferimenti agli oggetti
  • Applicare aggregati alle raccolte vuote nelle query LINQ to SQL
  • Ritarda il caricamento di una proprietà in LINQ to SQL
  • Utilizzare le funzioni con valori di tabella con caricamento desideroso attivato
  • Inserire i join nell'ordine corretto in una query LINQ to Objects
  • Comporre una query LINQ all'interno di un ciclo

http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp


4

IMHO, un vantaggio trascurato, ma importante, è l'efficienza di codifica di LINQ, ad esempio quanto si può ottenere con così poco codice. Personalmente trovo che la sintassi della query sia facile da leggere e comprendere.



3

Penso, la risposta a "Quali sapori di LINQ ci sono?" è incompleto. Prima di tutto, puoi creare il tuo "sapore". Sì, è un'attività avanzata, ma ora ci sono molte diverse implementazioni LINQ.

Ecco l'elenco dei provider LINQ esistenti (oltre ad alcune risorse in più sull'apprendimento di LINQ) sul blog di Charlie Calvert: Collegamenti a LINQ .

E c'è anche un'eccellente serie di post di blog di Matt Warren su come creare il proprio provider LINQ: LINQ: Creazione di una serie di provider IQueryable


2

I miei 2 centesimi, leggi i capitoli "11 espressioni di query e LINQ to Objects" e "12 LINQ oltre le raccolte" nel libro "C # in profondità" per capire come funziona LINQ.


0

Per la pratica Linq

Se vuoi un po 'di pratica su LINQ con esercizi e risposte, è davvero facile da configurare e, secondo me, fantastico:

https://github.com/walkhard/linq-exercises

Scarica da Git, apri in Visual Studio. Il tuo compito è far passare i test.

[divulgazione: ho imparato un po 'di linfa da esso e contribuisco al progetto, quindi sì, penso che sia un modo fantastico, veloce ed efficiente per imparare.]

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.