2011-10-20 40 views
0

我有一個集合映射到一個數組,它似乎工作正常。但是當我從數據庫加載itens時,數組的第一個元素始終爲空。有沒有辦法避免這種情況?加載NHibernate數組集合時,第一個元素爲空

陣列的所有者的映射:

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

只是一個猜測:你可能在1而不是0

+0

的代碼是被從列表陣列遷移起始位置,並指派1位到第一個元素。謝謝! – bcsanches

相關問題