2011-08-01 14 views
7

He encontrado un couple places donde la gente dice que no es compatible, pero no puedo encontrar cuál es la causa raíz.¿Por qué NHibernate no soporta lotes en MySql?

  • ¿Hay algún problema con el proveedor de mysql ado.net?
  • ¿Hay algo acerca de MySql en sí?
  • ¿Simplemente no se ha implementado?

Recientemente encontré this patch for nHibernate que pueden resolver el problema, ¿alguien ha verificado esto como una solución?

¿Hay alguna otra solución no admitida?

Respuesta

6
  • lo tiene no sólo han aplicado?

Es la respuesta correcta.

El parche que utiliza una referencia a MySql.Data no entrará al tronco en su forma actual debido a los motivos mencionados por Rippo.

Sin embargo, no es necesario compilar NH con el parche. Solo puede inyectar el nuevo Batcher.

Es tan fácil como:

config.DataBaseIntegration(
     db => db.Batcher<MySqlClientBatchingBatcherFactory>()); 
+0

Excelente Diego, me encanta aprender acerca de las características que yo no sabía nada. – Rippo

+0

Quería señalar que acabo de probar esta sugerencia y funcionó muy bien. – Andorbal

0

Sospecho que la verdadera razón es que este parche en particular requiere una dependencia de mysql.data.dll dentro de NHibernate.

Ver here por ejemplo +using MySql.Data.MySqlClient;

Esto significa que las personas que no usan MySql aún necesitarían la DLL. Realmente creo que esta es la razón. Sin embargo, no hay nada que te impida implementar el parche en la fuente de NHibernate y compilar los binarios por ti mismo. Yo uso MySql mí mismo y no he encontrado otro trabajo alrededor ...