Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Entity Framework vs NHibernate

36 views
Skip to first unread message

Stefano Paparesta

unread,
May 29, 2013, 5:52:23 AM5/29/13
to
Ciao a tutti, ho bisogno di una conferma, un consiglio.
Ad oggi uso NHIbernate, vorrei iniziare ad introdurre nei miei progetti EF.
La domanda EF funziona bene, lo utilizzate con successo nelle vostre applicazioni ?
Non mi interessa tanto un confronto secco tra i due prodotti, sono diversi e penso Nhibernate sia più maturo, ma mi piace l'idea di usare un qualcosa di più integrato con VS.
Cosa ne pensate ?

Grazie
Stefano

Julio Di Egidio

unread,
May 29, 2013, 3:27:17 PM5/29/13
to
"Stefano Paparesta" <paparest...@gmail.com> wrote in message
news:1f32eddd-dc5c-4e90...@googlegroups.com...
My 2c: Ci sono indubbiamente tutti i vantaggi di un componente direttamente
supportato, nonche' il fatto, per quello che vedo dagli annunci di lavoro,
che molti di quelli che usano l'ASP.NET MVC lo abbinano appunto a EF, mentre
di richieste per NHibernate ne vedo piuttosto poche, giusto in certe
nicchie. Poi al livello tecnico ci sono sempre pro e contro da entrambe le
parti: non ne so molto di prima mano (non uso O/RM), ma so che per esempio
NHibernate e' piu' potente ma anche parecchio piu' complesso di EF, d'altra
parte (sempre per il poco che ne ho letto o visto) con NHibernate piu' o
meno "ci fai tutto", mentre lo stesso (ancora?) non e' per EF.

Julio


Mauro Servienti [MVP]

unread,
May 30, 2013, 12:54:40 PM5/30/13
to
Ciao Stefano Paparesta,
guarda se trovi qualche spunto interessante:
http://weblogs.asp.net/ricardoperes/archive/2013/05/29/the-state-of-entity-framework-and-nhibernate.aspx

> Grazie
> Stefano

.m

--
blog @ //milestone.topics.it


Stefano Paparesta

unread,
May 30, 2013, 3:10:58 PM5/30/13
to
Grazie a tutti e due.

LuduvicoVan non li usa, io mi sto "allontanando". Forse per ciò che faccio io non è poi così fondamentale usarli. Quello che scrive nel post che mi hai consigliato tu Mauro io lo sento tanto. Tanta fatica per usare Nhibernate in certe di situazioni, trovare info non è poi così semplice per certe sue features. Penso che in effetti si senti proprio la mancanza di una linea. Poi per carità lo so che su certe cose "spacca".
A volte ho l'impressione di sovraingegnerizzare il mio lavoro. Ripeto i progetti su cui lavoro non sono enormi per cui forse non era proprio proprio corretto fin da l'inizio l'uso di un oggetto del genere.
Ho lasciato passare un po' di versioni, avevo paura di un prodotto tipo LinqToSql, invece vedo che si danno molto da fare e prob. per cosa devo fare io va più che bene EF.
Ma non ho capito una cosa Mauro, tu che li usi gli ORM che cosa preferisci ?

Grazie Stefano

Mauro Servienti [MVP]

unread,
May 30, 2013, 4:54:49 PM5/30/13
to
Ciao Stefano,

You wrote on 30/05/2013 :
> Ma non ho capito una cosa Mauro, tu che li usi gli ORM che cosa preferisci ?

ho smesso e mi sono disintossicato? :-)
Ho capito che l'ORM ᅵ uno dei problemi e spesso introduce piᅵ frizione
di quella che cerca di togliere, ᅵ un discorso molto e articolato sia
chiaro difficile da fare in un post, considera che in azienda ne
facciamo un corso di 2 giorni per intodurre la povera vittima dell'ORM
ai concetti di DDD e CQRS in particolare dove non butti via l'ORM (se
usi un db relazionale) ma ti limiti ad usarlo per fare quello che sa
fare bene, mapping e impedence mismatch, fine dei giochi.

Giulio Petrucci

unread,
May 31, 2013, 5:55:24 AM5/31/13
to
Ciao Stefano,
Premesso che ho usato EF solo per un progetto, dico che secondo me NH
vince su tutta la linea per una serie di motivi, che vado tosto ad elencare.
Personalmente ho difficoltà con gli strumenti in cui non ho il "pieno
controllo" e con EF, interfacce grafiche, ecc. le vedo solo come un
appesantimento. In secondo luogo, i modelli generati da EF sono
appesantiti da un sacco di roba di cui ancora non capisco il senso. E'
vero che AFAIK hanno introdotto anche code first, POCO, ecc., ma per
quando se ne erano accorti, mi ero già skillato (più o meno... :-)) su
NH. Che invece è *SEMPLICE*: se hai bisogno di X, fai X. E non X, Y, Z, ecc.

NH ha (a mio avviso) un difetto tecnico che è una relativa "debolezza"
del provider LINQ (ma anche quello di EF è un po' debole) e qualche
problema (es: le subquery non si basano su join ma solo su subselect), e
pure un difetto "gestionale": non ha un nome che spinge lo sviluppo, le
roadmap, ecc.
Ma all'attuale stato delle cose, come dicevo, uso sempre NH.

Detto questo, ha *STRA*-ragione Mauro quando dice che l'ORM risolve i
problemi quando gli si chiede di fare quello per cui è stato fatto. :-)

Ciao,
Giulio

--


0 new messages