|
Mõni päev tagasi viisin vana asp.net projekti üle Linuxile, mis põhineb asp.net 4.0 + Nhibernate + FluentNhibernate'il, ja sattusin migratsiooniprotsessis haruldase probleemiga, ronisin paljude artiklite juurde, sealhulgas hiina, inglise ja lõpuks leidsin vastuse Jaapani veebilehelt (Google Translate'i kaudu), mida võib kirjeldada üsna valusana, ja ma olen selle salvestanud Esiteks, migreeritav keskkond on centos6.5 + MONO + Jexus See juhtus Nhibernate + mono all, aga see ei juhtunud alati, ja mõned projektid, kuhu migreerisin, kasutasid Nhibernate'i, nii et seda probleemi ei tekkinud Initsiaal: Järgmine viga leiti rändamisel Nii et ausalt öeldes mine web.config lehele, et muuta konfiguratsiooni Pärast muudatuse leidmist on probleem endiselt suur, veidi häiritud, hoolikalt jälgitud ja avastatud, et allolevas promptis on Nhibernate OpenSession, tundub, et probleem peitub siin
Sel ajal proovisin palju meetodeid, sealhulgas kirjutasin ümber mõned nhibernate kutsumise meetodid, roomasin palju artikleid ja ei leidnud kunagi lahendust, kuni lõpuks leidsin nurgast selgituse, ja vea põhjus visati ja selgitati, aga tõlge oli liiga väsitav...
Vea põhjus oli:
NHibernate.AdoNet.SqlClientSqlCommandSet
Ülaltoodud testidega ei leia ma SqlCommandSet'i....
Tundub, et see on tingitud platvormist
Praegune lahendus
nhibernate:
Likvideerimise
<property name="adonet.batch_size">0</property>
FluentNhibernate:
See tähendab, lisa. AdoNetBatchSize(0)
Siiani on probleem lahendatud ja eelnev on lihtsalt kirjas ning loodan aidata inimesi, kes sama probleemiga kokku puutuvad, vältida mõningaid kõrvalepõigeid!
|