当加载NHibernate数组集合时,第一个元素为空
本文关键字:第一个 元素 加载 NHibernate 数组 集合 | 更新日期: 2023-09-27 18:11:44
我有一个集合映射到一个数组,它似乎工作良好。但是当我从数据库中加载条目时,数组的第一个元素总是空的。有办法避免这种情况吗?
数组所有者的映射:
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();
}
}
任何想法为什么当组成对象被创建的ConsistVehicles数组的第一个元素是空的?我检查了数据库上的数据,表上唯一的行是存储在数组中的元素。
谢谢!
只是猜测:你可能开始位置在1而不是0