Ciao,
ti ringrazio per la risposta esauriente.

Ti vorrei chiedere ancora una cosa, su cui vorrei un maggiore approfondimento.
Ai tempi del c# 2.0 c'era ADO.NET con i suoi dataset, dataTable e TableAdapter customizzati sul tipo di db. Più o meno automaticamente potevi creare degli oggetti che ti permettevano di avere l'accesso ai dati. Quello strumento a me non è mai piaciuto, soprattutto per le limitazioni in caso di elaborazioni più complesse e particolari.
Questo nuovo strumento che mi hai descritto, ha limitazioni simili, o è più dinamico? Mi spiego meglio: è possibile eseguire query particolari, magari anche di aggregazione dei dati, senza la necessità di dover costruire un layout esagerato sopra, e sfruttando quanto già generato automaticamente?
L'accesso al db si occupa anche della gestione delle transazioni?
Quanto è tipizzato su SqlSever, piuttosto che su mySql o Oracle?

Ti ringrazio.