|
Πριν από λίγες μέρες, μετέφερα ένα παλιό project του asp.net στο linux, το οποίο βασίζεται στο asp.net 4.0 + Nhibernate + FluentNhibernate, και αντιμετώπισα ένα σπάνιο πρόβλημα στη διαδικασία της μετάβασης, ανέβηκα σε πολλά άρθρα, συμπεριλαμβανομένων κινέζικων, αγγλικών, και τελικά βρήκα την απάντηση σε μια ιαπωνική ιστοσελίδα (από το Google Translate), η οποία μπορεί να χαρακτηριστεί αρκετά επώδυνη, και την έχω καταγράψει Πρώτον, το περιβάλλον στο οποίο θα μετεγκατασταθεί είναι το centos6.5 + MONO + Jexus Αυτό συνέβη στο Nhibernate + mono, αλλά δεν συνέβαινε πάντα, και ορισμένα από τα έργα στα οποία μετεγκαταστάθηκα χρησιμοποιούσαν το Nhibernate, οπότε αυτό το πρόβλημα δεν συνέβη Αρχικό: Εντοπίστηκε το ακόλουθο σφάλμα κατά τη μετεγκατάσταση Λοιπόν, ειλικρινά μεταβείτε στο web.config για να τροποποιήσετε τη διαμόρφωση Μετά την εύρεση της τροποποίησης, εξακολουθεί να είναι ένα τέτοιο πρόβλημα, λίγο στενοχωρημένο, προσεκτικά παρακολουθούμενο και διαπίστωσε ότι υπάρχει σφάλμα όταν η παρακάτω προτροπή είναι Nhibernate OpenSession, φαίνεται ότι το πρόβλημα βρίσκεται εδώ
Εκείνη τη στιγμή, δοκίμασα πολλές μεθόδους, συμπεριλαμβανομένης της επανεγγραφής ορισμένων μεθόδων κλήσης σε χειμερία νάρκη, της ανίχνευσης πολλών άρθρων και της μη εύρεσης λύσης, μέχρι που τελικά βρήκα μια εξήγηση από μια γωνία και ο λόγος του λάθους πετάχτηκε και εξηγήθηκε, αλλά η μετάφραση ήταν πολύ κουραστική...
Ο λόγος για τον οποίο παρουσιάστηκε το σφάλμα ήταν:
NHibernate.AdoNet.SqlClientSqlCommandSet
Με τις παραπάνω δοκιμές, δεν μπορώ να βρω το SqlCommandSet....
Φαίνεται να οφείλεται στην πλατφόρμα
Τρέχουσα λύση
nhibernate:
διάθεση
<όνομα ακινήτου="adonet.batch_size">0</property>
FluentNhibernate:
Δηλαδή, προσθέστε. Μέγεθος παρτίδας AdoNet(0)
Μέχρι στιγμής, το πρόβλημα έχει λυθεί και τα παραπάνω είναι για την ιστορία, και ελπίζω να βοηθήσω τους ανθρώπους που αντιμετωπίζουν το ίδιο πρόβλημα να αποφύγουν κάποιες παρακάμψεις!
|