更新期间的NHibernate异常:System.ArgumentOutOfRangeException:索引超出范围

时间:2018-06-12 13:07:26

标签: nhibernate nhibernate-mapping

我正在使用NHibernate映射,其中包含来自另一个表的一个外键列的Reference。在进行插入和选择时,查询执行正常但是当我尝试更新它时,它给了我" ystem.ArgumentOutOfRangeException:索引超出范围。必须是非负数且小于集合的大小。 参数名称:index"错误。 当我试图保存在其中一列中的数据有限时,它会成功执行更新查询,但是当同一列中的数据长度很大时,它会给我这个错误。 我对NHibernate很新,并且不了解这个问题。

请帮我解决这个问题。

映射类:

public class NoteMap : ClassMap<NoteEntity>
    {
        public NoteMap()
        {
            Schema("trans");
            Table("CaseNote");

            Id(x => x.Id).GeneratedBy.Identity().Column("CaseNoteID");

            HasMany(x => x.Tags)
                .KeyColumn("AttachedToObjectID")
                .Where("AttachedToObjectTypeID = 3 AND IsActive = 'Y'")
                .Cascade.None()
                .BatchSize(25)
                .Inverse();

            Map(x => x.CaseId).Column("CaseID").Not.Insert().Not.Update().Not.Nullable();
            Map(x => x.NoteDate).Column("NoteDate").Not.Nullable();
            Map(x => x.Notes).Column("Notes").Not.Nullable().Length(int.MaxValue);
            Map(x => x.DiaryDate).Column("DiaryDate").Nullable();
            Map(x => x.IsDone).Column("IsDone").CustomType<YesNoType>().Not.Nullable();
            Map(x => x.IsSanctioned).Column("IsSanctioned").CustomType<YesNoType>().Not.Nullable();
            Map(x => x.ClosureDate).Column("ClosedDate").Nullable();
            References(x => x.CreatedBy).Column("CreatedByUserID").Not.Nullable();
            Map(x => x.CreatedDate).Column("CreatedDate").Not.Nullable();
            References(x => x.UpdatedBy).Column("UpdatedByUserID");
            Map(x => x.UpdatedDate).Column("UpdatedDate");
            References(x => x.DoneBy).Column("DoneByUserID");
            Map(x => x.DoneDate).Column("DoneDate");

            Version(x => x.Version).Column("RV").Generated.Always();
        }
    }

0 个答案:

没有答案