Newsgroup: it.comp.lang.visual-basic
Titolo: Newbie: richiesta consigli su scelta ORM

Un saluto a tutti.
Dopo i miei studi di informatica (risalenti a 15 anni fa) ho ricoperto 
quasi esclusivamente ruoli commerciali, quindi pur avendo idea delle 
varie tecnologie, la mia esperienza diretta come programmatore si limita 
a qualche software in Access.
Ora sono nell'esigenza di svecchiare le mie conoscenze.
Sono orientato verso 
VB.NET
: conoscendo VBA e non dovendo cimentarmi con 
grossi progetti non vedo particolari difficolta' nell'acquisire 
dimestichezza con la nuova piattaforma. L'ostacolo piu' grande mi pare 
invece quello relativo all'adozione di un ORM, che ritengo sia oggi 
divenuto uno strumento indispensabile.
Da quanto leggo in rete le alternative tra cui scegliere sono due: 
NHibernate e Entity Framework. Ed e' a questo proposito che vengo a 
chiedervi consiglio: nella situazione in cui mi trovo i fattori rilevanti 
per la mia scelta non sono di carattere tecnico, ma riguardano piuttosto 
la difficolta' di apprendimento e il fatto di rappresentare un miglior 
investimento per il futuro.
Qualcuno mi da la propria opinione in merito?
Grazie.

 Qualcuno mi da la propria opinione in merito?
EF (punto) :-P
.m
-- 
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCTS
http://mvp.support.microsoft.com
blog @ 
http://milestone.topics.it
whynot [ at ] topics [ dot ] it

 EF (punto) :-P
ok, chiaro :)
Approfitto per una domanda su EF: utilizzando l'approccio model-first e' 
possibile ragionare in maniera completamente trasparente nei confronti 
del db server (una volta indicatogli quale intendo usare)? Posso cioe' 
lavorare sul modello fregandomene del fatto che poi sotto avro' postgrest 
o mysql piuttosto che sqlserver?

 o mysql piuttosto che sqlserver?
viste le domande posso cambiare risposta? NHibernate tutta la vita :-)
Diciamo che definirti un "novellino" e parlare di model-first sono un 
ossimoro... ergo se sai cosa ï¿œ e perchï¿œ ï¿œ "bene e giusto" model-first e 
POCO allora tutta la vita NHibernate, che ti garantisce anche la totale 
indipendenza dal db, cosa che EF4 non credo faccia ancora cosï¿œ 
facilmente.


 o mysql piuttosto che sqlserver?
Risposta sincera: NO. Per farlo devi optare per un approccio "POCO" o 
(ma è ancora in stato di pre-beta) "Code First". Se vuoi un esempio, lo 
trovi qui: 
http://nsk.codeplex.com/
 (l'assembly che contiene il maping 
"POCO style" è quello il cui nome termina con "EF.Poco")
-- 
  .A
GUISA - 
http://www.guisa.org
UGIdotNET - 
http://www.ugidotnet.org
Read my blog at: 
http://blogs.ugidotnet.org/pape

 Risposta sincera: NO. Per farlo devi optare per un approccio "POCO"
Tu opteresti per EF4 o NH? 

 viste le domande posso cambiare risposta? NHibernate tutta la vita :-)
Ah! Adesso si che mi sento sicuro! :)
Scherzi a parte: grazie per la schiettezza.
Ci sono, tra tutti, dei testi da cui mi consiglieresti di cominciare?

 Ci sono, tra tutti, dei testi da cui mi consiglieresti di cominciare?
Per NH: NHibernate in Action, e anche Hibernate in Action (che è per la 
versione Java ma i concetti sono identici)
Per EF: o quello dell'amico Stefano Mostarda (ma non so se è già 
uscito) o quello di Julie Lerman;


 Per EF:
Thk!


dipende. Per esempio:
- Vuoi usare LINQ per esprimere le tue query? Usa EF
- Hai bisogno di una cache di secondo livello? Usa NH
- Devi "inserirti" nella pipeline dell'O/RM? Usa NH
- Vuoi usare "pronti via" i RIA Services? Usa EF
...
non c'è un "vincitore assoluto"
