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 예. 당신은 NHibernate에 Linq를 사용할 수 있습니다. 앨리어스가 왜 너에게 나쁜가요? –
우리는 동적 코드로 작업하고 있기 때문에 별칭없이 그리고 쿼리 오버없이 이미 구현했습니다. –