|
For et par dage siden flyttede jeg et gammelt projekt fra asp.net til Linux, som er baseret på asp.net 4.0 + Nhibernate + FluentNhibernate, og stødte på et sjældent problem i migrationsprocessen, læste mange artikler, inklusive kinesisk, engelsk, og fandt endelig svaret på en japansk hjemmeside (via Google Translate), hvilket kan beskrives som ret smertefuldt, og jeg har optaget det For det første er det miljø, der skal migreres til, centos6.5 + MONO + Jexus Dette skete under Nhibernate + mono, men det skete ikke altid, og nogle af de projekter, jeg migrerede til, brugte Nhibernate, så dette problem opstod ikke Forbogstav: Følgende fejl blev fundet i migrationen Så ærligt talt gå til web.config for at ændre konfigurationen Efter at have fundet modifikationen, er det stadig et problem, lidt bekymret, omhyggeligt sporet, og jeg fandt ud af, at der er en fejl, når prompten nedenfor er Nhibernate OpenSession, det ser ud til, at problemet ligger her
På dette tidspunkt prøvede jeg mange metoder, herunder at omskrive nogle nhibernat-kaldsmetoder, crawle mange artikler og aldrig finde en løsning, indtil jeg endelig fandt en forklaring fra et hjørne, og årsagen til fejlen blev kastet og forklaret, men oversættelsen var for trættende...
Årsagen til fejlen var:
NHibernate.AdoNet.SqlClientSqlCommandSet
Med ovenstående tests kan jeg ikke finde SqlCommandSet....
Det ser ud til at skyldes platformen
Nuværende løsning
nhibernate:
disposition
<property name="adonet.batch_size">0</property>
FluentNhibernate:
Altså, adder. AdoNetBatchSize(0)
Indtil videre er problemet løst, og ovenstående er for protokollens skyld, og jeg håber at kunne hjælpe folk, der støder på det samme problem, med at undgå nogle omveje!
|