|
数日前、asp.net の古いプロジェクトをLinuxに移しました。Linuxは asp.net 4.0 + Nhibernate + FluentNhibernateをベースにしています。移行の過程で珍しい問題に直面し、中国語や英語を含む多くの記事を読み、最終的に日本のウェブサイト(Google翻訳で)で答えを見つけました。かなり苦痛と言えるでしょうが、その答えは記録しています まず、移行先の環境はcentos6.5 + MONO + Jexusです これはNhibernate + monoで起きていましたが、いつも起きていたわけではなく、移行したプロジェクトの中にはNhibernateを使っていたものもあり、この問題は起きませんでした イニシャル: 移行時に以下の誤りが見つかりました 正直なところ、web.configに行って設定を修正してください 修正版を見つけた後も問題は続いており、少し不安定で注意深く追跡され、以下のプロンプトがNhibernate OpenSessionである場合にエラーが見つかりました。問題はここにあるようです
この時点で、nhibernate呼び出しメソッドの書き換えや記事のクロールなど多くの方法を試しましたが、解決策が見つからず、ようやく隅から説明を見つけ、エラーの理由を説明しましたが、翻訳があまりにも疲れました...
エラーが発生した理由は以下の通りです:
NHibernate.AdoNet.SqlClientSqlCommandSet
上記のテストでは、SqlCommandSetが見つかりません......
プラットフォームの問題のようです
現在の解決策
nhibernate:
意気
<プロパティ名="adonet.batch_size">0</property>
FluentNhibernate:
つまり、加算です。 AdoNetBatchSize(0)
これまでの問題は解決しており、上記のことは記録に残しておくため、同じ問題に直面している方々が迂回を避けられるようお手伝いできればと思います!
|