La tua domanda è piuttosto difficile da rispondere in dettaglio perché la risposta coprirà una lunga discussione sui molti punti che hai sollevato, ma cercherò di trattare qui i concetti fondamentali. Inizierò con:
Also, I am thinking of learning PHP simultaneously. Because I feel learning some other language will might help me understand C# better. Is this the right thing?
Beh, se sei una persona con un QI medio, è difficile imparare PHP e Microsoft Stack (C #, EF, LINQ, ADO), ... etc + diversi framework, ..., tutti insieme allo stesso tempo. L'affermazione di cui sopra è la mia opinione e ovviamente non è scientifica.
Quindi, in primo luogo, determina cosa vuoi fare con tutto questo. Stai costruendo un sistema per te stesso, vuoi un lavoro come sviluppatore professionista, ecc. Questo è molto importante.
Successivamente, presumo che dovresti iniziare concentrandoti su ONE technology stack (o event 1 tool).
Supponendo che tu vada con Microsoft, devi quindi scegliere un modello di applicazione (ad esempio Silverlight, WPF, ASP.NET o Windows Form). Anche questo è molto importante perché ognuna di queste tecnologie ha il proprio framework ed è necessario avere familiarità con altre tecnologie correlate al modello di applicazione selezionato (ad esempio, HTML è necessario per ASP.NET ma non per WPF).
Ora arriviamo alla parte del database. Scegli no-sql, solo XML o SQL RDBMS (come la maggior parte di essi)
Diciamo che vai con SQL RDBMS, hai ancora una combinazione di scelte da fare per quanto riguarda come accedere a questi dati dal tuo codice:
- ADO.NET (con o senza LINQ)
- EF con LINQ
- Uso di un ORM di terze parti (non entrerò qui perché è un argomento molto lungo)
ADO.NET ha funzionato per i primi giorni di .NET e rappresenta una base importante per l'accesso ai dati, quindi l'apprendimento è importante.
Dici:
I don't want to use Entity Framework and LINQ when I don't understand them and what do they offer.
Se il tuo obiettivo è essere uno sviluppatore professionista con Microsoft Technologies, devi sapere LINQ (e ti suggerisco di aggiungere EF) in una certa misura anche se non li usi direttamente nel tuo progetto corrente. Conoscere queste tecnologie aprirà un mercato più ampio rispetto a conoscere solo ADO.NET.
" Alla conferenza degli sviluppatori professionali di Microsoft nel novembre 2009, il leggendario Don
Box, un ingegnere distinto presso Microsoft, ha dichiarato: "Se sei un entità di sviluppo .NET
La struttura è dove stiamo andando. Siamo lì. Sali a bordo, è ora. "
...
" L'Entity Framework di ADO.NET si è trasformato in diventare i dati principali di Microsoft
piattaforma di accesso per la creazione di applicazioni .NET "- Dal libro: Programming Entity Framework di Julia Lerman.
L'EF con LINQ consente di programmare l'utilizzo degli oggetti business anziché la programmazione diretta sulle tabelle dati. Alcuni degli altri vantaggi sono elencati qui:
Funzionalità di Entity Framework
Nuove funzionalità in Entity Framework 4.0 (V2)