문제

이 쿼리가 있습니다.

criteria = session.CreateCriteria(typeof (Building))
    .CreateAlias("Estate", "estate")
    .SetProjection(Projections.ProjectionList()
                       .Add(Property.ForName("Name"), "BuildingName")
                       .Add(Property.ForName("estate.Name"), "EstateName")
                       .Add(Projections.SqlProjection(
                                "(estate1_.BBRMunicipalityNumber + '-' + estate1_.BBREstateNumber + '-' + {alias}.BBRBuildingNumber)" + " as BBRNumber",
                                new[] { "BBRNumber" },
                                new[] { NHibernateUtil.String }),
                            "BBRNumber"))

SQL 문자열에 {Estate}를 쓰는 것과 같은 "Estate"에 대한 SQL 별칭을 얻을 수있는 방법이 있습니까? {Estate}는 작동하지 않습니다. 이제 SQL 문자열에서 별명을 하드 코딩했지만 그다지 견고하지는 않습니다.

문서를 올바르게 이해하면 이것이 가능해야합니다. NH2.0.1을 사용하고 있습니다.

/ASGER

도움이 되었습니까?

해결책

귀하의 질문에 대한 직접적인 답변은 아니지만 다음과 같은 세 가지 값을 개별적으로 쿼리하고 데이터베이스를 사용하는 대신 코드에서 연결을 수행하지 않겠습니까?

귀하의 질문에 답하기 위해 : Hibernate V3 (Java, 죄송합니다)에서 getcolumnalias 프로젝션 인터페이스의 메소드. Nhibernate에서 그 상대방을 찾을 수 없습니다.

건배

다른 팁

{alias}를 사용할 수 있습니다 - 현재 프로젝션의 별칭을 참조합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top