Индекс был вне диапазона. Должен быть неотрицательным и меньше размера ошибки сбора в Nhibernate - PullRequest
1 голос
/ 01 августа 2011

получаю исключение

Индекс был вне диапазона. Должен быть неотрицательным и меньше размера коллекция

когда я пытаюсь 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 имеет много битовых типов, и каждый битовый тип получает BSA_S в качестве внешнего ключа. Как я должен отобразить это, чтобы избежать ошибки? Мне нравится, когда я хочу оставить BSA_S в качестве поля свойства.

Любой совет?

1 Ответ

1 голос
/ 03 августа 2011

Нашел проблему.В объекте BitType я дважды отобразил BSA_S, один из которых:

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

и:

References(x => x.Parent).Column("BSA_S").Cascade.None().Not.LazyLoad().Not.Nullable();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...