2010-11-11 10 views
5

Tengo un proyecto usando NHibernate 1.2. Sé que es antiguo, pero lo he usado porque estoy trabajando fuera de NHibernate en Acción, que apunta a esa misma versión.¿Qué ganas al actualizar NHibernate 1.2?

He estado pensando que debo actualizar mi comprensión de la herramienta, así como de la herramienta en sí. Pero me pregunto cuáles son las diferencias entre versiones. Sé que 2.1 ha estado vigente por un tiempo, y que 3.0 está en proceso.

¿Qué ventajas o características se obtienen, pierden o cambian cuando se cambia a NHibernate 2.1 o 3.0?

Respuesta

13

Fuera de lo común y mezclando características 2.X y 3.0 ... Soporte de LINQ, EventListeners (Interceptores más potentes), compatibilidad con System.Transaction, soporte de genéricos, multiquery, consultas futuras, SchemaUpdate (en lugar de solo SchemaExport), mucho mejor analizador HQL, ... Además de numerosas correcciones de errores. Mucho ha estado sucediendo en el mundo de NHibernate desde NH 1.2 ...

+0

apoyo LINQ en 3.0 es enorme – czuroski

+0

estoy de acuerdo. El soporte de LINQ de primera clase en NH3 (a través del método de extensión ISession.Query ()) ha mejorado mucho con respecto a la prueba de concepto de Ayende para NH2.X. La nueva ISession.QueryOver () Soporte de criterios fuertemente tipado también es bueno. –

1

¡Obtiene soporte de Linq!

0

Comencé en 2.x + así que no puedo decir mucho ... pero seguro me actualizaré a 3.0 una vez que esté fuera de beta . ¡Principalmente porque QueryOver parece ICriteria en tipos seguros!

7

Con el lanzamiento 3.0.0, NHibernate incluye soporte para LINQ, junto con características adicionales tales como:

Junto con una larga lista de correcciones de errores y mejoras, tiene varias nuevas características incluyendo

  • Un nuevo fuertemente mecanografiado criterios API denominada QueryOver
  • Lazy loading of columns
  • delimitación de alias en SQL generado
  • Compatibilidad con DetachedCriteria en IStatelessSession.
  • Compatibilidad mejorada para LINQ, superando las limitaciones de HQL del proveedor anterior.

cambio importante:

  • Los usuarios que actualicen deben ser conscientes de que una de las correcciones significa que nulos valores en los diccionarios ya ignora silenciosamente no están, que tiene el potencial romper aplicación existente código.
0

v3: La eliminación de la dependencia de Log4net (que es a menudo un amor-odio-o que cosa)

Cuestiones relacionadas