Я пытался отобразить поле clob с помощью Fluent NHibernate 1.2.0.712 против Oracle 10g.Я использую провайдера System.Data, так как он доступен по умолчанию и пытался избежать добавления ссылки на ODP.Net из-за предыдущих проблем с клиентом.
Однако, когда я пытаюсь вставить сущности со свойствами сопоставленного сгустка, я получаю ошибку:
ORA-01461: может связывать значение LONG только для вставки в столбец LONG
Я пытался исправить это, используя приведенное ниже соглашение и декорируя соответствующее свойство с помощью [StringLength (4000)]:
public class StringLengthConvention : AttributePropertyConvention<StringLengthAttribute>
{
protected override void Apply(StringLengthAttribute attribute, IPropertyInstance instance)
{
instance.Length(attribute.MaximumLength);
}
}
Это не сработало.
Затем я попробовал следующее, используя значения «TEXT», «CLOB» и «clob».Ни один из них не работал:
public class plaparteMappingOverride : IAutoMappingOverride<plaparte>
{
public void Override(AutoMapping<plaparte> mapping)
{
Map(x => x.disposiciones).CustomSqlTypeIs("TEXT");
}
}
У кого-нибудь есть дополнительные предложения для этого исправления, кроме добавления ODP в качестве поставщика?