Penso che SQL e LINQ siano due cose diverse che devi imparare come programmatore .NET. Penso anche che tu possa impararli un po 'contemporaneamente, a seconda di ciò che sai sulle basi di DB e SQL già.
SQL sarà una conoscenza più portatile che, oltre al nuovo sviluppo, è possibile utilizzare su progetti legacy e attività di reporting. Quando c'è una mancanza di DBA (e ce ne sono quasi sempre), verrai probabilmente richiamato per generare un rapporto rapido per la contabilità / marketing / ecc. con gli ultimi numeri su questo o quello. Oppure, potresti ricevere una VB6 app legacy come tua responsabilità che ha inline SQL. Comprendere l'SQL sarà essenziale per quasi tutti i lavori di programmazione .NET.
LINQ è essenziale per sapere se stai andando a fare qualcosa di diverso dalla legacy (Framework 2.0 o 1.1) della programmazione .NET. Certo, puoi scrivere codice senza usarlo, ma questo non sarà accettabile in organizzazioni che non hanno un enorme investimento in codice "antico".
Entity Framework riunisce SQL e LINQ. Quindi, una volta che hai una comprensione sufficiente di entrambi, puoi andare avanti verso EF piuttosto rapidamente. Ricorda che EF può essere fatto con diagrammi lineari di oggetti DB, creando i tuoi oggetti in codice o tramite un ibrido di queste tecniche tramite classi parziali. C'è un'enorme flessibilità con le versioni EF 4.0 e 5.0.