2013-05-07 62 views
0

參考性質,我們制訂這樣的組件:NHibernate的QueryOver:如何映射組件

Map(x => x.EffectiveDates) 
.Columns 
.Add(new[] { "EffDt", "ExpDt" }) 
.CustomType(typeof(DateRangeUserType)); 

,我想要做這樣的事情

_session 
.QueryOver<Agreement>() 
.Where(a => a.EffectiveDates.Start >= now 
     && a.EffectiveDates.End <= now) 

,但我不能。它失敗,錯誤

無法解析屬性:EffectiveDates.Start

這怎麼可能與QueryOver實現?

回答

0

由於在映射中使用了CustomType,因此失敗。如果它只是作爲組件映射,那麼它工作正常。

Component(x => x.EffectiveDates, m => 
     { 
      m.Map(x => x.Start, "EffDt"); 
      m.Map(x => x.End, "ExpDt"); 
     });