|
Acum câteva zile, am mutat un proiect vechi de asp.net pe Linux, bazat pe asp.net 4.0 + Nhibernate + FluentNhibernate, și am întâmpinat o problemă rară în procesul de migrare, am urcat în multe articole, inclusiv chineză, engleză, și în cele din urmă am găsit răspunsul pe un site japonez (prin Google Translate), ceea ce poate fi descris ca fiind destul de dureros, și am înregistrat-o În primul rând, mediul în care trebuie migrat este centos6.5 + MONO + Jexus Acest lucru s-a întâmplat sub Nhibernate + mono, dar nu s-a întâmplat întotdeauna, iar unele dintre proiectele la care am migrat foloseau Nhibernate, deci această problemă nu s-a întâmplat Inițial: Următoarea eroare a fost găsită în migrare Așadar, sincer, mergi pe web.config pentru a modifica configurația După ce am găsit modificarea, problema este încă atât de mare, puțin afectată, atent urmărită, și am descoperit că apare o eroare când promptul de mai jos este Nhibernate OpenSession, se pare că problema este aici
În acel moment, am încercat multe metode, inclusiv rescrierea unor metode de apelare nhibernate, căutarea multor articole și nu am găsit niciodată o soluție, până când în cele din urmă am găsit o explicație dintr-un colț, iar motivul erorii a fost aruncat și explicat, dar traducerea a fost prea obositoare...
Motivul pentru care a apărut eroarea a fost:
NHibernate.AdoNet.SqlClientSqlCommandSet
Cu testele de mai sus, nu pot găsi SqlCommandSet....
Se pare că se datorează platformei
Soluția actuală
nhibernate:
dispoziție
<numele proprietății="adonet.batch_size">0</property>
FluentNhibernate:
Adică, adaugă. AdoNetBatchSize(0)
Până acum, problema a fost rezolvată, iar cele de mai sus sunt pentru evidență, și sper să ajut persoanele care se confruntă cu aceeași problemă să evite unele abateri!
|