|
Il y a quelques jours, j’ai déplacé un ancien projet de asp.net sur Linux, basé sur asp.net 4.0 + Nhibernate + FluentNhibernate, et j’ai rencontré un problème rare lors du processus de migration, j’ai grimpé de nombreux articles, dont en chinois, en anglais, et j’ai finalement trouvé la réponse sur un site japonais (via Google Traduction), ce qui peut être décrit comme assez pénible, et je l’ai consigné Premièrement, l’environnement vers lequel il faut migrer est centos6.5 + MONO + Jexus Cela s’est produit sous Nhibernate + mono, mais ce n’est pas toujours arrivé, et certains projets vers lesquels j’ai migré utilisaient Nhibernate, donc ce problème n’est pas survenu Initiale : L’erreur suivante a été détectée lors de la migration Donc honnêtement, allez sur web.config pour modifier la configuration Après avoir trouvé la modification, le problème reste un peu défaillant, suivi avec soin, et j’ai constaté qu’il y a une erreur lorsque l’invite ci-dessous est Nhibernate OpenSession ; il semble que le problème vienne ici
À ce moment-là, j’ai essayé beaucoup de méthodes, y compris réécrire certaines méthodes d’appel de nhibernate, explorer beaucoup d’articles, et ne jamais trouver de solution, jusqu’à ce que je trouve enfin une explication dans un coin, et que la raison de l’erreur ait été lancée et expliquée, mais la traduction était trop fatigante...
La raison de l’erreur était la suivante :
NHibernate.AdoNet.SqlClientSqlCommandSet
Avec les tests ci-dessus, je ne trouve pas SqlCommandSet....
Cela semble être dû à la plateforme
Solution actuelle
nhibernate:
disposition
<nom de propriété="adonet.batch_size">0</property>
FluentNhibernate:
C’est-à-dire, ajouter. AdoNetBatchSize(0)
Jusqu’à présent, le problème a été résolu, et ce qui précède est pour le compte rendu, et j’espère aider les personnes qui rencontrent le même problème à éviter certains détours !
|