При загрузке коллекции массивов NHibernate первый элемент имеет значение null - PullRequest
0 голосов
/ 20 октября 2011

У меня есть коллекция, сопоставленная с массивом, и она работает нормально. Но когда я загружаю itens из базы данных, первый элемент массива всегда равен нулю. Есть ли способ избежать этого?

Отображение владельца массива:

public class ConsistMap : BaseEntityMap<Consist>
    {
        public ConsistMap():
            base("consist_id")
        {
            Not.LazyLoad();

            Map(x => x.RemoveEmptyCars).Not.Nullable();

            HasMany(x => x.ConsistVehicles)
                .Inverse()
                .AsArray<int>(x => x.Position)
                .Cascade.AllDeleteOrphan()
                .OrderBy("position asc")
                .KeyColumn("consist_id");
        }
    }

И отображение элементов:

public class ConsistVehicleMap : BaseEntityMap<ConsistVehicle>
    {
        public ConsistVehicleMap():
            base("consist_vehicle_id")
        {
            Not.LazyLoad();

            Map(x => x.Position).Not.Nullable();

            References(x => x.Consist).Not.Nullable();

            HasMany(x => x.Tickets)
                .Inverse()
                .Cascade.None()
                .KeyColumn("consist_vehicle_id");

            References(x => x.Vehicle)
                .Column("vehicle_id")
                .Not.Nullable();
        }
    }

Есть идеи, почему при создании объекта Consist первый элемент массива ConsistVehicles равен нулю? Я проверил данные в базе данных, и единственными строками в таблице являются элементы, хранящиеся в массиве.

Спасибо!

1 Ответ

1 голос
/ 20 октября 2011

Просто предположение: вы, вероятно, начинаете позицию с 1 вместо 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...