Nhibernate 2.1からFluent Nhibernate 2.1にアップグレードしてから リリース1.xをNHibernate 3.0 GAより先にアップグレードし、しかし、それが事実であるかどうか聞いてみたい。バイナリのBlobを8000バイトに切り捨て - SQL Server 2008/varbinary(max)
私はSQL Server Expressの2008とMSSQL 2008方言を使用し、型System.Drawing.Imageの Imageプロパティを持っていると私は このようにそれをマッピングしているのです:中
Map (food => food.Image)
.Length (int.MaxValue)
.Nullable();
Image
コラムテーブルのタイプはvarbinary(MAX)
です。
プロパティの生成HBMは次のとおりです。
<property name="Image" type="System.Drawing.Image, System.Drawing,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<column name="Image" length="2147483647" not-null="false" />
</property>`
私は何をすべきかに関係なく、バイナリブロブは8000バイト 時にシリアル化された現在のFNHとNHのバージョンとに切り捨てられますが。以前のバージョンの場合は、 を使用していませんでした。
なぜこれが起こっているのか、どのように修正/回避するのかについてのアイデアはありますか?
私はNHibernate 3.1.0.4000と同じ問題があります。私は何か間違っているのですか? – labilbe
私は知らない - 私はパッチ3.0を使用し、3.0で他のdepsのために今すぐテストするために3.1にアップデートすることはできません。私のテストケースをバグレポートから取り出し、3.0を3.1に置き換えて、それがまだスローされるかどうかを確認するのが最も簡単です。そうであれば、欠陥を再開し、一時的にImageのカスタムUserTypeを使用してデータのサイズを強制することができます。 –
さらにテストしたところ、NH 3.1.0はもうバグではないことがわかりました。私は別のバージョンの破損したデータ(8000バイトで保存されている)を使用していましたが、そのバグの原因を突き止めるのは困難でした。今は大丈夫です。ありがとうございました! – labilbe