У меня была похожая проблема, и решение - атрибут длины:
<property name="Attachment" length="5224880"/>
Если вы не укажете длину, то, что бы вы ни написали в атрибуте типа, оно закончится как RAW (2000) в oracle, потому чтоего максимум составляет 2000 байт, но если вы скажете, что мне нужно 5 МБ или в байтах его 5224880 байт, тогда nhibernate автоматически переключится на BLOB, потому что он больше 2000 байт
, поэтому, учитывая свойство dot net
public virtual byte[] Attachment { get; set; }
правильное отображение будет
<property name="Attachment" length="5224880"/>
Или вы можете изучить OracleLiteDialect.cs в кодовой базе (исходный код) Nhibernate