|
Hace unos días, trasladé un antiguo proyecto de asp.net a Linux, basado en asp.net 4.0 + Nhibernate + FluentNhibernate, y me encontré con un problema poco común en el proceso de migración, escalé muchos artículos, incluidos chino, inglés, y finalmente encontré la respuesta en una web japonesa (por Google Translate), lo cual puede describirse como bastante doloroso, y lo he registrado Primero, el entorno al que se migra es centos6.5 + MONO + Jexus Esto ocurrió bajo Nhibernate + mono, pero no siempre ocurrió, y algunos de los proyectos a los que migré usaban Nhibernate, así que este problema no ocurrió Inicial: Se encontró el siguiente error en la migración Así que, sinceramente, ve a web.config para modificar la configuración Después de encontrar la modificación, sigue siendo un problema, un poco molesto, cuidadosamente seguido, y se descubre que hay un error cuando el prompt de abajo es Nhibernate OpenSession, parece que el problema está aquí
En ese momento, probé muchos métodos, incluyendo reescribir algunos métodos de llamada a nhibernate, rastrear muchos artículos y nunca encontrar una solución, hasta que finalmente encontré una explicación desde un rincón, y la razón del error fue lanzada y explicada, pero la traducción era demasiado cansada...
La razón por la que ocurrió el error fue:
NHibernate.AdoNet.SqlClientSqlCommandSet
Con las pruebas anteriores, no encuentro SqlCommandSet....
Parece deberse a la plataforma
Solución actual
nhibernate:
disposición
<nombre de propiedad="adonet.batch_size">0</property>
FluentNhibernate:
Es decir, añadir. AdoNetBatchSize(0)
Hasta ahora, el problema se ha resuelto, y lo anterior es para que conste, ¡y espero ayudar a quienes se encuentren con el mismo problema a evitar algunos desvíos!
|