【发布时间】:2012-02-02 23:49:36
【问题描述】:
我正在使用 oracle 作为数据库,并使用流利的 Nhibernate 进行映射。
下面是我的对象类
public class UserFieldEvent
{
public virtual int Id { get; set; }
public virtual UserFieldBase UserField { get; set; }
public virtual EventType EventType { get; set; }
public virtual string EventScript { get; set; }
}
属性 EventScript 的长度可以从 0 到 4000。 在数据库中,我将 EventScript 的列类型设为 CLOB。
下面是我的映射类:
public UserFieldEventMap()
{
Table("TBLDS_USERFIELDEVENT");
Id(x => x.Id).GeneratedBy.Sequence("SEQDS_USERFIELDEVENT");
Map(x => x.EventType).CustomType<EventType>();
Map(x => x.EventScript).CustomSqlType("CLOB");
References(x => x.UserField).Column("USERFIELDBASEID");
}
现在,每当 EventScript 的长度大于 2000 时,我都会收到错误“ORA-01461: can bind a LONG value only for insert into a LONG column ”。同时将对象保存到数据库中。任何人都可以帮助解决这个问题。
【问题讨论】:
标签: c# oracle nhibernate fluent-nhibernate