ICriteria를 사용하여 조인 조건이있는 쿼리를 만들려고합니다. 나는 그것은 내가 원하지 않는 아래의 SQL을 생성합니다nHibernate ICriteria Join Condition
m_ClientRepository.QueryAlias("client")
.CreateCriteria("client.Contacts", "c", JoinType.LeftOuterJoin)
.Add(Restrictions.Eq("c.ContactType", ContactType.Email));
같은 기준을 사용하는 경우 나 생성하기 위해 애 쓰고 SQL이
SELECT c.ClientID
FROM Client c
LEFT OUTER JOIN ClientContact t on c.ClientID = t.ClientID AND
t.ContactType = 'Email'
처럼 보일 것입니다.
SELECT c.ClientID
FROM Client c
LEFT OUTER JOIN ClientContact t on c.ClientID = t.ClientID
WHERE t.ContactType = 'Email'
ICriteria를 사용할 수없는 경우 ICriteria 또는 HQL과 함께이 작업을 수행 할 수 있습니까?
편집 : 지금 사용하고있는 nHibernate 2.1을 발견했습니다. allow this입니다. ICriteria에 대한 확신이 없지만 이것이 나의 취향이다.
내가 찾고있는 기준에서 정확히 같은 것. 우리는 with 표현이 필요합니다. – madcapnmckay
SQL을 많이 사용하지는 않지만 두 번째 옵션보다 첫 번째 옵션을 원하는 이유는 무엇입니까? 동일한 결과를 제공하지 않습니까? – pythonandchips
안녕하세요 콜린, 그들은 같은 결과를주지 않습니다. – Craig