Le novità di Entity Framework 5.0

di Stefano Mostarda, in LINQ,

Entity Framework 5.0 è la nuova versione di Entity Framework. Questa nuova versione include diverse funzionalità che riguardano sia il motore che il designer incluso in Visual Studio 2012. Le novità introdotte in questa versione non sono moltissime, ma sono quelle che gli utenti hanno richiesto con maggior frequenza al team. Infatti, tra le nuove funzionalità troviamo il supporto nativo agli enum, il supporto ai tipi geospaziali, un significativo miglioramento delle performance, il supporto a stored procedure che ritornano risultati multipli, la possibilità di dividere un modello EDMX in più modelli logici tramite il designer di Visual Studio 2012 e altro ancora.

Nel corso dell'articolo vedremo più in dettaglio queste novità ma prima di cominciare con la trattazione degli argomenti è bene fermarsi a parlare dell'evoluzione del framework per capire meglio il perché di alcune scelte del team e il futuro di Entity Framework.

Storia di Entity Framework

Entity Framework 1.0 è stato ufficialmetne rilasciato nell'Agosto del 2009 all'interno del Service Pack 1 di Visual Studio 2008. Il framework era ancora immaturo e non supportava funzionalità dipiche di tutti gli O/RM. Nell'aprile del 2010 Microsoft ha rilasciato il .NET Framework 4.0 che conteneva anche Entity Framework 4.0. La versione 4.0 di Entity Framework era in realtà la seconda che Microsoft avesse mai rilasciato. Tuttavia, si è preferito allineare la versione di tutti i framework facenti parte del .NET Framework alla versione 4.0 così da eliminare la confusione che si era creata in passato con il .NET Framework 3.0 e 3.5. Entity Framework 4.0 era molto più maturo del predecessore in quanto supportava la Persistence Ignorance e altre feature importanti. Tuttavia, rimanevano alcuni problemi legati soprattutto alle performance e al mancato supporto degli enum per i quali servivano ulteriori modifiche al motore di Entity Framework.

Poiché il motore di Entity Framework è incluso all'interno del .NET Framework, il team poteva rilasciare una nuova versione del motore solo nel momento in cui una nuova versione del .NET Framework fosse stata rilasciata. Questo costituiva una grossa limitazione per il team che non poteva risolvere alcuni problemi strutturali in breve tempo. Non solo, alcune nuove funzionalità che richiedevano interventi al motore non erano fattibili e questo rallentava l'evoluzione di Entity Framework. Per questo motivo, il team ha cominciato a lavorare a una serie di funzionalità costruite sopra il motore. Queste funzionalità sono le nuove API DbContext, Code-First e Database Migrations che sono state rilasciate in Entity Framework 4.1, 4.2 e 4.3. Queste funzionalità sono state rilasciate tramite NuGet quindi esternamente al .NET Framework e quindi non intaccando il motore di Entity Framework.

Con questa nuova versione di Entity Framework, assistiamo ad una nuova versione del motore poichè anche il .NET Framework è stato rilasciato. Le funzionalità esterne, rimangono sempre distribuite tramite NuGet. Guardando più in avanti, il team ha annunciato che questa versione del motore di Entity Framework è l'ultima che verrà inclusa nel .NET Framework. Entity Framework 6.0, sarà completamente indipendente dal Framework, sarà Open Source e completamente distribuito via NuGet (sia il motore che le funzionalità attualmente esterne). Questo significa che Entity Framework potrà evolvere con maggior rapidità rispetto al passato.

Ora che è chiara la storia Entity Framework, passiamo a vedere le nuove funzionalità introdotte nella versione 5.0.

Le novità del designer

La prima novità che salta all'occhio quando si crea un progetto che sfrutta Entity Framework è il designer. Sebbene il wizard per importare il database sia rimasto identico, in background avvengono alcune cose che non avvenivano nelle precedenti versioni di Visual Studio. Quando chiudiamo il wizard, se nel progetto non è presente un riferimento ad Entity Framework il designer si connette automaticamente a NuGet e scarica l'ultima versione aggiungendola al progetto. In questo modo siamo sicuri di avere sempre l'ultima versione di Entity Framework nel nostro progetto senza dover fare nulla.

Un'altra grossa novità del designer consiste nel cambio di generazione del codice. Nella versione 2010 di Visual Studio, il designer generava in automatico classi non-POCO per compatibilità con la versione precedente. Poiché lavorare con le classi non-POCO era obsoleto già dalla versione 4.0, per far generare al designer classi POCO dovevamo scaricare e installare un template T4 e poi lanciare la generazione del codice. A partire da Visual Studio 2012, le classi generate sono già POCO il che ci risparmia un pò di tempo durante il setup del progetto.

Una volta finite queste operazioni, il designer appare come nella prossima figura che mostra come le forme e i colori delle classi siano decisamente cambiate rispetto a come apparivano in Visual Studio 2010.

Il designer di Entity Framework in Visual Studio 2012

3 pagine in totale: 1 2 3
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Top Ten Articoli

Articoli via e-mail

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

In primo piano

I più letti di oggi

In evidenza

Misc