|
Před pár dny jsem přesunul starý projekt asp.net na Linux, který je založen na asp.net 4.0 + Nhibernate + FluentNhibernate, a při migraci jsem narazil na vzácný problém, prošel jsem spoustu článků, včetně čínštiny, angličtiny, a nakonec jsem našel odpověď na japonském webu (přes Google Translate), což lze popsat jako docela bolestivé, a zaznamenal jsem to Nejprve je prostředí, do kterého se má migrovat, centos6.5 + MONO + Jexus Stalo se to pod Nhibernate + mono, ale ne vždy se to stalo, a některé projekty, na které jsem migroval, používaly Nhibernate, takže tento problém nenastal Iniciála: Při migraci byla nalezena následující chyba Takže upřímně, jdi na web.config a uprav konfiguraci Po nalezení této úpravy je to stále takový problém, trochu znepokojený, pečlivě sledován a zjistil jsem, že je chyba, když je níže nápověda Nhibernate OpenSession, zdá se, že problém je zde
V té době jsem zkoušel spoustu metod, včetně přepisování některých nhibernate calling metod, procházení spousty článků a nikdy jsem nenašel řešení, dokud jsem nakonec nenašel vysvětlení z rohu, kde byl důvod chyby vyhozen a vysvětlen, ale překlad byl příliš únavný...
Důvodem chyby bylo:
NHibernate.AdoNet.SqlClientSqlCommandSet
S výše uvedenými testy nemůžu najít SqlCommandSet....
Zdá se, že je to kvůli platformě
Současné řešení
nhibernate:
uspořádání
<název vlastnosti="adonet.batch_size">0</property>
FluentNhibernate:
Tedy přidávat. AdoNetBatchSize(0)
Zatím byl problém vyřešen a výše uvedené je jen pro záznam, a doufám, že pomohu lidem, kteří se setkávají se stejným problémem, vyhnout se některým odbočkám!
|