나는 지역 변수 또는 로컬 속성이 내가 할 수있는 다른 어떤 옵션을 알고 싶어 너무NHibernate QueryOver 별칭으로 사용할 수있는 것은 무엇입니까?
ClassA _aliasA;
_session.QueryOver(x => x.ClassA,() => _aliasA);
또는
ClassA AliasA { get; set; }
_session.QueryOver(x => x.ClassA,() => AliasA);
같은 별칭으로 사용될 수 있다는 것을 지금까지 알고있다. 마찬가지로, 외부 클래스의 속성은 유효한 옵션입니까?
class ClassGenericAliases
{
ClassA Class { get; set; }
}
_session.QueryOver(x => x.ClassA,() => ClassGenericAliases.ClassA);
정체를 별칭으로 사용할 수 있습니까? 별칭을 선언하는 다른 옵션이 있습니까?
이러한 별칭을 다시 사용할 수있는 방법을 모색 중입니다.그럼, 그건 좋은 습관이 아니에요? 그러한 조인을 몇 번이고 다시 쓰는 것은 너무나 고통 스럽습니다. – Jonn
너무 많은 복잡한 조인이 있으면 안됩니다. 그렇지 않으면 해결하려는 작업을 두 번 수행해야합니다. 쿼리에서 Eager 페치를 재사용하기위한 페칭 전략을 작성할 수 있습니다. 이 쿼리를 재사용 할 수 없다는 말은 할 수 없습니다. 메서드에서 IQueryOver를 반환하고 더 많은 조건을 추가 할 수 있습니다. 하지만 일반적으로 별칭을 다시 사용할 수 없게하려고하지 않는 것이 가장 좋습니다. – Phill