Anche se non l'ho usato, quello che capisco è l'Object Relational Mapping (ORM) di .Net.
"Entity Framework consente agli sviluppatori di lavorare con i dati sotto forma di oggetti e proprietà specifici del dominio, come clienti e indirizzi dei clienti, senza doversi preoccupare delle tabelle e delle colonne del database sottostante in cui sono archiviati questi dati. Entity Framework, gli sviluppatori possono lavorare a un livello più alto di astrazione quando si occupano di dati e possono creare e mantenere applicazioni orientate ai dati con meno codice rispetto alle applicazioni tradizionali. " - fonte: link
Ho scelto le poche righe sopra perché riassume il motivo / quando lo useresti. Quando vuoi disgiungere la tua logica e il tuo business Livelli dell'interfaccia utente dall'archivio dati sottostante. Idealmente, dovresti essere in grado di modificare l'archiviazione dei dati sottostanti da una piattaforma di database a un'altra senza dover modificare i bit del codice. Dovresti essere in grado di spostarti da una piattaforma di database relazionale a un servizio dati non relazionale o basato su cloud.
In genere è una cattiva idea avere tutti gli aspetti della tua app direttamente accoppiati al tuo database e dipendenti dalla piattaforma del database, dalle strutture delle tabelle, dalle colonne, ecc.