|
Néhány napja áthelyeztem egy régi, asp.net projektet Linuxra, ami asp.net 4.0 + Nhibernate + FluentNhibernate alapján készült, és a migráció során ritka problémába ütköztem, sok cikket megmásztam, köztük kínai, angol nyelven, és végül megtaláltam a választ egy japán weboldalon (Google Fordító segítségével), ami elég fájdalmasnak is nevezhető, és felvettem Először is, a migrálandó környezet centos6.5 + MONO + Jexus Ez Nhibernate + mono alatt történt, de nem mindig fordult elő, és néhány projekt, amire átmigráltam, Nhibernate-et használt, így ez a probléma nem fordult elő Kezdőbetű: A következő hibát találták a migrációban Szóval, őszintén szólva, menj a web.config oldalra, hogy módosítsd a konfigurációt A módosítás megtalálása után még mindig ilyen probléma, kicsit zaklatott, gondosan követve, és kiderült, hogy hiba van, ha az alábbi prompt Nhibernate OpenSession, úgy tűnik, itt van a probléma
Ebben az időben sok módszert próbáltam, többek között néhány nhibernátus hívó módszert újraírtam, sok cikket átkutattam, és soha nem találtam megoldást, míg végül találtam egy magyarázatot egy sarokból, és a hiba okát elmagyarázták, de a fordítás túl fárasztó volt...
A hiba oka az volt:
NHibernate.AdoNet.SqlClientSqlCommandSet
A fenti tesztekkel nem találom a SqlCommandSetet....
Úgy tűnik, ez a platform miatt van
Jelenlegi megoldás
nhibernate:
hajlam
<property name="adonet.batch_size">0</property>
FluentNhibernate:
Vagyis add. AdoNetBatchSize(0)
Eddig a probléma megoldódott, és a fentiek csak a tisztázás kedvéért szól, remélem, hogy segíthetek azoknak, akik ugyanezzel a problémával szembesülnek, hogy elkerüljék a kitérőt!
|