Я обновил версию Fluent Nhibernate 1.0 с Nhibernate 2.1 до версии версии 1.x с NHibernate 3.0 GA и попал в то, что я считаю регрессией, но я хочу услышать, действительно ли это так.Binary Blob усечен до 8000 байт - SQL Server 2008/varbinary (max)
Я использую SQL Server Express 2008 и говор MSSQL 2008 и имею свойство изображения типа System.Drawing.Image и я замэпил как этого:
Map (food => food.Image)
.Length (int.MaxValue)
.Nullable();
Image
колонна в таблица имеет тип varbinary(MAX)
.
Сформированный НВМ для собственности:
<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.1, чтобы протестировать прямо сейчас из-за других депов на 3.0. Проще всего было бы взять свой тестовый пример из отчета об ошибке, заменить 3.0 на 3.1 и посмотреть, все ли он бросает. Если это так, мы должны снова открыть дефект, и временно вы можете использовать пользовательский UserType для изображения, который заставляет размер данных. –
После тестирования я обнаружил, что NH 3.1.0 больше не глючит. Я использовал поврежденные данные (сохраненные с 8000 байтами) другой версии, тогда мне было трудно выяснить причину ошибки. Теперь все в порядке. Спасибо! – labilbe