1

排序的IList我有兩個實體NHibernate的查詢各地要在實體

 public class ProductEntity 
     { 
     public virtual Guid Id { get; set; } 
     public virtual string Name { get; set; } 
     public virtual IList<PriceScheduleEntity> PriceSchedules { get; set; } 
     } 
     public class PriceScheduleEntity 
     { 
     public virtual Guid Id { get; set; } 
     public virtual DateTime Date{get;set;} 
     public virtual ProductEntity Product { get; set; } 
     } 

一對多映射已經完成。
一種產品可能有許多priceschedules

當我查詢

IList<ProductEntity> entityList = NHSession.QueryOver<ProductEntity>() 
      .Where(x => x.Name.IsLike("%" + matchString + "%")) 
      .OrderBy(x => x.Name).Asc.List(); 

它給我的priceschedules因爲它們要加入。
我希望它們按生效日期排序。
請幫我看看。

+0

你想通過'PriceScheduleEntity.Date'對'ProductEntity'進行排序嗎? – 2015-03-31 13:32:09

+0

是我可以那樣做嗎? – 2015-04-01 04:41:47

+0

由於一個'ProductEntity'有許多'PriceScheduleEntity's,你想要排序哪一個? – 2015-04-01 13:08:50

回答

0
在映射

(例如FLuentNHibernate映射)

HasMany(x => x.PriceSchedules).OrderBy(s => s.Date) 

你應該做一個有序的插入代碼,這樣就不會在代碼中添加商品後打破這種排序的合同。