|
며칠 전, 저는 asp.net 의 오래된 프로젝트를 리눅스로 옮겼는데, 이 프로젝트는 asp.net 4.0 + Nhibernate + FluentNhibernate를 기반으로 하고 있습니다. 마이그레이션 과정에서 드문 문제를 겪었고, 중국어, 영어 등 많은 기사를 찾아 결국 일본 웹사이트(구글 번역)에서 답을 찾았습니다. 꽤 고통스러웠다고 할 수 있는데, 그 과정은 기록해 두었습니다 먼저, 마이그레이션할 환경은 centos6.5 + MONO + Jexus입니다 이 문제는 Nhibernate + mono 시절에 있었지만 항상 그런 것은 아니었고, 제가 마이그레이션한 몇몇 프로젝트는 Nhibernate를 사용해서 이 문제는 발생하지 않았습니다 이니셜: 마이그레이션에서 다음과 같은 오류가 발견되었습니다 솔직히 web.config에 가서 설정을 수정하세요 수정 파일을 찾은 후에도 여전히 문제가 많고, 약간 문제가 있었으며, 조심스럽게 추적되었고, 아래 프롬프트가 Nhibernate OpenSession일 때 오류가 발생했습니다. 문제는 여기에 있는 것 같습니다
이 시기에 저는 여러 방법을 시도했는데, 일부 nhibernate 호출 메서드를 다시 작성하고, 많은 문서를 크롤링했으며 해결책을 찾지 못했습니다. 결국 구석에서 설명을 찾았고, 오류 원인을 제시하고 설명했지만 번역이 너무 힘들었습니다...
오류가 발생한 이유는 다음과 같습니다:
NHibernate.AdoNet.SqlClientSqlCommandSet
위 테스트들로는 SqlCommandSet을 찾을 수가 없습니다....
플랫폼 때문인 것 같아요
현재 해결책
nhibernate:
심성
<property name="adonet.batch_size">0</property>
FluentNhibernate:
즉, 추가하는 것입니다. AdoNetBatchSize(0)
지금까지 문제는 해결되었고, 위 내용은 기록용이며, 같은 문제를 겪는 분들이 우회를 피할 수 있도록 돕고 싶습니다!
|