我使用oracle作为db和流利的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; }
}
Run Code Online (Sandbox Code Playgroud)
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");
}
Run Code Online (Sandbox Code Playgroud)
现在,只要EventScript的长度大于2000,我就会收到错误"ORA-01461:只能插入一个LONG值才能插入LONG列." 同时将对象保存到数据库中.任何人都可以帮助这个.