C# 索引超出范围。必须为非负且小于Nhibernate中的收集错误大小

C# 索引超出范围。必须为非负且小于Nhibernate中的收集错误大小,c#,nhibernate,fluent-nhibernate,C#,Nhibernate,Fluent Nhibernate,我收到了例外 索引超出范围。必须为非负数且小于 藏品 当我尝试保存或更新Bsa对象时。 我认为问题在于我映射同一行两次,一次作为属性,一次作为子元素列表 public BsaMap() { Schema("MYS"); Table("BSA"); Id(x => x.Id, "BSA_S").GeneratedBy.TriggerIdentity(); HasMany(x => x.BitTypeList

我收到了例外

索引超出范围。必须为非负数且小于 藏品

当我尝试保存或更新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有许多位类型,每个位类型都以Bsa作为其外键。我应该如何映射这一点,以避免错误?我喜欢将BSA作为一个属性字段


有什么建议吗?

发现了问题。在BitType实体中,我映射了两次BSA_, 一个是:

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


发现了问题。在BitType实体中,我映射了两次BSA_, 一个是:

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


你应该将其作为答案而不是编辑发布。你应该将其作为答案而不是编辑发布。