指数超出范围.必须非负且小于Nhibernate中收集错误的大小



我收到了异常

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

当我尝试SaveOrUpdate一个Bsa对象。我认为问题是我映射同一行两次,一次作为属性,一次作为子列表。

    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();

相关内容

最新更新