|
Qualche giorno fa, ho spostato un vecchio progetto di asp.net su Linux, basato su asp.net 4.0 + Nhibernate + FluentNhibernate, e ho incontrato un raro problema durante il processo di migrazione, ho scalato molti articoli, tra cui cinese, inglese, e alla fine ho trovato la risposta su un sito giapponese (tramite Google Translate), cosa che può essere descritta come piuttosto dolorosa, e l'ho registrata Innanzitutto, l'ambiente a cui migrare è centos6.5 + MONO + Jexus Questo è successo con Nhibernate + mono, ma non sempre è successo, e alcuni dei progetti a cui sono migrato usavano Nhibernate, quindi questo problema non si è verificato Iniziale: Il seguente errore è stato riscontrato nella migrazione Quindi, onestamente, vai su web.config per modificare la configurazione Dopo aver trovato la modifica, è ancora un problema così grave, un po' in difficoltà, attentamente monitorato, e si è scoperto che c'è un errore quando il prompt qui sotto è Nhibernate OpenSession, sembra che il problema sia qui
In quel periodo ho provato molti metodi, incluso riscrivere alcuni metodi di chiamata di nhibernate, scansionare molti articoli e non trovare mai una soluzione, finché non ho trovato una spiegazione da un angolo, e la ragione dell'errore è stata lanciata e spiegata, ma la traduzione era troppo stancante...
La ragione per cui si è verificato l'errore è stata:
NHibernate.AdoNet.SqlClientSqlCommandSet
Con i test sopra descritti, non riesco a trovare SqlCommandSet....
Sembra essere dovuto alla piattaforma
Soluzione attuale
nhibernate:
disposizione
<nome proprietà="adonet.batch_size">0</property>
FluentNhibernate:
Cioè, aggiungere. AdoNetBatchSize(0)
Finora il problema è stato risolto, e quanto sopra è per la cronaca, e spero di aiutare chi si trova nello stesso problema a evitare qualche deviazione!
|