我有一个映射到数组的集合,它似乎工作正常。但是当我从数据库加载itens时,数组的第一个元素始终为null。有没有办法避免这种情况?
数组所有者的映射:
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数组的第一个元素为null?我检查了数据库上的数据,表中唯一的行是存储在数组中的元素。
谢谢!
答案 0 :(得分:1)
只是一个猜测:你可能从1开始,而不是0。