2010-11-11 9 views
5

J'ai un projet utilisant NHibernate 1.2. Je sais que c'est vieux, mais je l'ai utilisé depuis que je travaille sur NHibernate in Action, qui cible la même version.Qu'est-ce que vous obtenez de la mise à niveau de NHibernate 1.2?

Je pensais que je devrais mettre à jour ma compréhension de l'outil, ainsi que l'outil lui-même. Mais je me demande quelles sont les différences entre les versions. Je sais que la version 2.1 est à jour depuis un certain temps et que la version 3.0 est en préparation.

Quels sont les avantages ou fonctionnements obtenus, perdus ou modifiés lors du passage à NHibernate 2.1 ou 3.0?

Répondre

13

En haut de ma tête et en mélangeant les fonctionnalités 2.X et 3.0 ... Support LINQ, EventListeners (Intercepteurs plus puissants), Support System.Transaction, support des génériques, multiquery, requêtes futures, SchemaUpdate (plutôt que simplement SchemaExport), beaucoup mieux HQL parser, ... Plus de nombreuses corrections de bugs. Beaucoup de choses se passent dans le monde de NHibernate depuis NH 1.2 ...

+0

support LINQ dans la version 3.0 est énorme – czuroski

+0

Je suis d'accord. La prise en charge de LINQ de première classe dans NH3 (via la méthode d'extension ISession.Query ()) est grandement améliorée par rapport à la preuve de concept d'Ayende pour NH2.X. La nouvelle ISession.QueryOver () Le support des critères fortement typés est également agréable. –

1

Vous obtenez le support Linq!

0

J'ai commencé sur 2.x + donc je ne peux pas dire grand chose ... mais je vais sûrement passer à la version 3.0 une fois que c'est en beta . Principalement parce que QueryOver ressemble ICriteria sur les stéroïdes sûrs de type!

7

Avec la sortie 3.0.0, NHibernate inclut le support pour LINQ, ainsi que fonctionnalités supplémentaires telles que:

En plus d'une longue liste de corrections de bugs et des améliorations , il a plusieurs nouvelles fonctionnalités, y compris

  • Une nouvelle API fortement critères dactylographié appelé QueryOver
  • Lazy loading of columns
  • Alias ​​délimitant dans SQL généré
  • Prise en charge de DetachedCriteria dans IStatelessSession.
  • Amélioration de la prise en charge de LINQ, en surmontant les limitations HQL du fournisseur précédent.

Briser le changement:

  • utilisateurs Mise à niveau doivent être conscients que l'un des correctifs signifie que valeurs nulles dans les dictionnaires ne sont plus ignorées en silence, ce qui a le potentiel de briser existants l'application code.
0

v3: Suppression de la dépendance à l'égard Log4net (ce qui est souvent un amour ou la haine, il chose)