Microsoft
ha rilasciato la
Community Technology Preview 5 (CTP5) di
Entity Framework Code First, che consente di sviluppare applicazioni basate sulla piattaforma ORM di Microsoft senza dover necessariamente interagire con il designer dell'
Entity Model, oppure con i corrispondenti file XML, ma semplicemente scrivendo classi
POCO (Plain Old CLR Objects), che non è necessario derivare da alcuna classe base.
Anche la configurazione della persistenza sul database è implementata mediante un approccio
convention over configuration, consentendo la persistenza sul database senza la necessità di doverla definire esplicitamente, cosa comunque possibile.
Questa CTP5 è l'ultima prima del rilascio finale, previsto nel primo trimestre del prossimo anno, e funziona con tutte le tipologie di applicazioni .NET, incluse le applicazioni ASP.NET basate sia su
Web Forms che su tecnologia
MVC. È possibile procedere all'installazione sia mediante un classico
setup da scaricare e installare, sia utilizzando il gestore di pacchetti di installazione
NuGet dall'interno di Visual Studio.
La modifica principale introdotta nella CTP5 riguarda il
supporto alla validazione, che offre la possibilità di utilizzare differenti approcci integrati per l'implementazione delle regole di business all'interno del
model-layer, con l'utilizzo di
DataAnnotation e di
IvalidatorObject; vi è inoltre la possibilità di poter localizzare semplicemente i messaggi di errore includendoli in un file di risorse. La validazione viene effettuata al salvataggio delle modifiche, generando gli eventuali messaggi di errore, e prevedendo l'integrazione con i framework dell'interfaccia utente — come ASP.NET MVC,
ASP.NET Dynamic Data, Silverlight — per mostrare i risultati della validazione in maniera semplice.
Novità interessante è la nuova API per il rilevamento delle modifiche, o
change-tracking, che consente di conoscere lo stato di un oggetto – inserito, modificato, cancellato, invariato – oltre a unmiglioramento nella gestione delle eccezioni dovute alla
modifica concorrente delle entità. Vi è un
migliorato supporto ai database che, insieme a una serie di altri piccoli accorgimenti, rende questa CTP5 sicuramente appetibile per iniziare a sperimentare con le novità introdotte, per poter essere pronti, fra qualche mese, all'utilizzo della nuova release.
Sul
blog di Scott Guthrie sono disponibili anche alcuni post sull'argomento, risalenti alla scorsa estate, sullo
sviluppo con Code-First, sul
mapping personalizzato fra classi e database e sull'
utilizzo di EF Code-First in presenza di un database preesistente.