0
我使用NHibernate與流利的映射。我有以下情況: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對象。我現在用的是queryover做我的疑問:
public object GetResult(ISession session)
{
var result = session.QueryOver<A>.Where(a=> a.BReference.Name=="Value").List();
return result;
}
目前NHibernate的拋出一個異常無法解析屬性BReference.Name的:A.
是否有某種方式來克服這個propblem?我現在不能更改查詢轉換模式,因爲我們依賴它。 感謝您的幫助。
有沒有其他解決方案沒有使用別名? –
@Manar Husrieh是的。你可以使用Linq到NHibernate。爲什麼別名對你不利? –
因爲我們正在使用動態代碼,並且我們已經實現了沒有別名和queryover。 –