流暢なマッピングでNHibernateを使用しています。次のシナリオがあります。
public class A
{
public virtual int ID{get; set;}
public virtual B BReference {get; set;}
public virtual string aProperty {get; set;}
}
public class B
{
public virtual int ID {get;set;}
public virtual string Name {get; set;}
}
public class MapA: Map<A>
{
Id(x=> x.ID);
Map (x=> x.aProperty);
References(x => x.BReference);
}
public class MapB : Map<B>
{
Id(x=>x.ID);
Map(x=>x.Name);
}
私がしたいことは、プロパティ A.BReference.Name で A オブジェクトをフィルタリングすることです。クエリを実行するためにクエリオーバーを使用しています。
public object GetResult(ISession session)
{
var result = session.QueryOver<A>.Where(a=> a.BReference.Name=="Value").List();
return result;
}
現在、NHibernate は次の例外をスローしています。Could not resolve property BReference.Name of: A.
この問題を克服する方法はありますか? queryover パターンに依存しているため、今は変更できません。ご協力いただきありがとうございます。