繁体   English   中英

索引超出范围。 必须为非负数并且小于Nhibernate中的集合错误大小

[英]Index was out of range. Must be non-negative and less than the size of the collection error in Nhibernate

我收到例外

索引超出范围。 必须为非负数且小于集合的大小

当我尝试保存或SaveOrUpdate对象时。 我认为问题在于我将同一行映射两次,一次作为属性,一次作为子列表。

    public BsaMap()
    {
        Schema("MYS");
        Table("BSA");
        Id(x => x.Id, "BSA_S").GeneratedBy.TriggerIdentity();
        HasMany(x => x.BitTypeList).KeyColumn("BSA_S").Fetch.Subselect().Inverse().Not.LazyLoad().Cascade.SaveUpdate();
    }

一个Bsa有许多BitType,每个BitType都有BSA_S作为其外键。 我应该如何映射这个,以避免错误? 我希望将BSA_S保留为属性字段。

有什么建议吗?

找到了问题。 在BitType实体中,我已两次映射BSA_S,一次为:

Map(x => x.BsaS).Column("BSA_S"); 

和:

References(x => x.Parent).Column("BSA_S").Cascade.None().Not.LazyLoad().Not.Nullable();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM