|
Pred nekaj dnevi sem preselil star projekt asp.net na Linux, ki temelji na asp.net 4.0 + Nhibernate + FluentNhibernate, in naletel na redko težavo med migracijo, prebral veliko člankov, vključno s kitajščino, angleščino, in končno našel odgovor na japonski spletni strani (prek Google Translate), kar bi lahko opisali kot precej boleče, in sem ga zabeležil Prvič, okolje, v katerega se migrira, je centos6.5 + MONO + Jexus To se je zgodilo pod Nhibernate + mono, vendar ni bilo vedno, nekateri projekti, na katere sem se preselil, pa so uporabljali Nhibernate, zato se ta težava ni pojavila Začetnica: Pri migraciji je bila najdena naslednja napaka Torej, iskreno, pojdi na web.config, da spremeniš konfiguracijo Po odkritju spremembe je težava še vedno takšna, nekoliko obremenjena, skrbno spremljana in ugotovljena napaka, ko je spodnji poziv Nhibernate OpenSession, zdi se, da je težava tukaj
Takrat sem preizkusil veliko metod, vključno s prepisovanjem nekaterih nhibernate klicnih metod, brskanjem po številnih člankih in nikoli nisem našel rešitve, dokler nisem končno našel razlage iz kota, kjer je bil razlog za napako vržen in razložen, a prevod je bil preveč naporen...
Razlog za napako je bil:
NHibernate.AdoNet.SqlClientSqlCommandSet
Pri zgornjih testih ne najdem SqlCommandSet....
Zdi se, da je to zaradi platforme
Trenutna rešitev
nhibernate:
Razpolaganja
<ime lastnosti="adonet.batch_size">0</property>
FluentNhibernate:
Torej, dodaj. AdoNetBatchSize(0)
Do zdaj je bil problem rešen, zgoraj navedeno je za zapisnik, in upam, da bom pomagal ljudem, ki se srečajo z enakim problemom, da se izognejo kakšnim ovinkom!
|