|
Alguns dias atrás, movi um projeto antigo de asp.net para o Linux, que é baseado em asp.net 4.0 + Nhibernate + FluentNhibernate, e encontrei um problema raro no processo de migração, escalei muitos artigos, incluindo chinês, inglês, e finalmente encontrei a resposta em um site japonês (pelo Google Tradutor), o que pode ser descrito como bastante doloroso, e eu registrei isso Primeiro, o ambiente para ser migrado é centos6.5 + MONO + Jexus Isso aconteceu sob Nhibernate + mono, mas nem sempre acontecia, e alguns dos projetos para os quais migrei usavam Nhibernate, então esse problema não aconteceu Inicial: O seguinte erro foi encontrado na migração Então, honestamente, vá para web.config para modificar a configuração Depois de encontrar a modificação, ainda é um problema, um pouco desgastado, cuidadosamente rastreado, e descobri que há um erro quando o prompt abaixo é Nhibernate OpenSession, parece que o problema está aqui
Nessa época, tentei muitos métodos, incluindo reescrever alguns métodos de chamada nhibernate, rastrear muitos artigos e nunca encontrar uma solução, até que finalmente encontrei uma explicação de um canto, e o motivo do erro foi apresentado e explicado, mas a tradução foi cansativa demais...
A razão pela qual o erro ocorreu foi:
NHibernate.AdoNet.SqlClientSqlCommandSet
Com os testes acima, não consigo encontrar o SqlCommandSet....
Parece ser por causa da plataforma
Solução atual
nhibernate:
disposição
<nome da propriedade="adonet.batch_size">0</property>
FluentNhibernate:
Ou seja, adicionar. AdoNetBatchSize(0)
Até agora, o problema foi resolvido, e o que foi dito acima é para registro, e espero ajudar pessoas que enfrentam o mesmo problema a evitar alguns desvios!
|