Una delle cose più Sgradite di Entity Framework 4.0 è il fatto che il designer non genera classi POCO. Questa scelta è ovvia e rimarrà quella di default anche in RTM per mantenere la compatibilità col passato. La buona notizia è che per la RTM il team dovrebbe anche includere un template T4 per la generazione di classi POCO.
La certezza assoluta è che questo template genererà le classi aggiungendole allo stesso assembly in cui si trova l'EDMX. Ora che finalmente abbiamo un sistema OTTIMO-FANTASTICO-ECCEZIONALE-MERAVIGLIOSO-PERFETTO di generazione del codice, questa limitazione si può superare. Cercando un pò in rete e partendo dalla base del template esistente, sono arrivato a creare un template che permette di:
Generare le classi e l'objectcontext in classi separate.
Aggiungere le classi ad un assembly diverso da quello in cui si trova l'edmx. Nell'assembly dell'ObjectModel o del DomainModel ad esempio. (Facoltativo).
Aggiungere l'objectcontext ad un assembly diverso da quello in cui si trova l'edmx. Nell'assembly del DAL ad esempio. (Facoltativo).
Mantenete il proprio codice aggiunto alle entities anche quando l'entità viene rigenerata.
Ovviamente il tutto è molto Beta 1 ma credo sia un ottimo punto di partenza per capire come funziona il T4 e per avere classi POCO da subito. In altri post vedremo come ho risolto alcuni problemi. nel frattempo potete scaricare il template a questo indirizzo.
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Cosa penso delle prossime novità del designer Entity Framework, il 18 ottobre 2010 alle 10:01
- Entity Framework e l'estendibilità del designer, il 3 febbraio 2010 alle 08:37
- Entity Framework 4.0 finalmente ha un buon designer, il 30 ottobre 2009 alle 19:57
- .NET Framework 4.0 Beta 2: Entity framework 4.0, il 20 ottobre 2009 alle 11:18
- Entity Framework 4.0 e le applicazioni preesistenti, l'8 ottobre 2009 alle 00:24
- Entity Framework 4.0 e la customizzazione del codice, il 25 luglio 2009 alle 16:07