小编Taw*_*han的帖子

N-Hibernate与Oracle中的长字符串会导致错误

我使用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列." 同时将对象保存到数据库中.任何人都可以帮助这个.

c# oracle nhibernate fluent-nhibernate

4
推荐指数
1
解决办法
2271
查看次数

标签 统计

c# ×1

fluent-nhibernate ×1

nhibernate ×1

oracle ×1