Domanda

Sto iniziando a utilizzare LINQ come un vero linguaggio di query nel codice per migliorare la leggibilità. Fino a poco tempo fa avevo paura di toccare LINQ perché il team LINQ to SQL si spostava sotto il team Entity Framework (cercando di ignorare quella conversazione qui) - LINQ il linguaggio delle query sarà una scommessa sicura andando avanti (tanto quanto qualsiasi cosa in questo veloce industria in movimento)?

È stato utile?

Soluzione

Vale la pena distinguere tra " LINQ " e " un particolare provider LINQ " ;. Penso che sia sicuro affermare che LINQ stesso è qui per rimanere - ed è fenomenale utile per l'elaborazione della raccolta in-process tramite LINQ to Objects.

Per quanto riguarda quale provider LINQ " vincerà " (se presente): è una scommessa più difficile da chiamare.

Vorrei certamente apprendere i fondamenti di LINQ stesso - e LINQ to XML è anche una bella API XML.

Altri suggerimenti

Come diceva Jon, è molto importante distinguere tra i provider LINQ. Ad esempio

  • LINQ to objects: si basa su IEnumerable < T > ed è così radicato nel BCL che trovo molto difficile che vada ovunque
  • LINQ to SQL: non lo uso quasi quanto LINQ, ma so che ha un buon seguito e alla gente sembra piacere.

Avvertenza: ho lavorato su LINQ quindi sono piuttosto distorto qui.

La cosa veramente bella di LINQ, in quello che penso sia davvero giusto, è che chiunque può scrivere un provider LINQ. Tutto ciò che serve sono alcuni metodi associabili con il nome giusto e improvvisamente si ha la sintassi della query.

var query = from it in someCollection select it.SomeProperty;

Posso scrivere questa affermazione senza usare nessuno del framework 3.5. Ho il mio provider LINQ che funziona con il framework 2.0 ed è compatibile con la sintassi della query utilizzata nel compilatore.

Personalmente mi appoggio maggiormente alla sintassi del metodo lambda / extension ma il codice risultante non è davvero diverso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top