Я использую NHibernate 3.1. У меня есть тип пользователя, который представляет System.Drawing.Image
. Он прекрасно работает, пока я не изменил отображение свойства изображения, чтобы включить отложенную загрузку для свойства.
В определенный момент NHibernate решает обновить сущность, которая имеет свойство изображения. В следующем методе пользовательского типа value
имеет значение, которое не является действительным Image
:
public void NullSafeSet(IDbCommand cmd, object value, int index)
{
...
}
Очевидно, что это так, потому что свойство image не было доступно, поэтому механизм отложенной загрузки не был запущен. Чего я не понимаю, так это того, что значение не null
, но быстрое наблюдение в отладчике не дает мне никаких подробностей об экземпляре, кроме того, что это «объект». Может быть, это какой-то экземпляр прокси-сервера?
Так что теперь я ищу способ эффективно заставить NHibernate воздерживаться от обновления свойства, когда оно не изменилось. Простой возврат из метода сразу не работает, потому что затем выдается исключение, заявляющее, что значение свойства отсутствует.