Критерии создания NHibernate с 3 внутренними объединенными таблицами - PullRequest
1 голос
/ 06 декабря 2011

Я пытаюсь воспроизвести этот оператор SQL, используя NH DetachedCriteria, но изо всех сил пытаюсь заставить все 3 внутренних оператора соединения работать.

SELECT a.*
FROM TableA a
INNER JOIN TableB b ON a.ProjectID = b.ProjectID 
INNER JOIN TableC c ON b.OutlineAgreementID = c.OutlineAgreementID 
INNER JOIN TableE e ON a.estimateid = e.estimateid 
WHERE (b.ArchiveStatusID = 1)
AND (b.DateDeleted IS NULL)
AND (c.OutlineAgreementID = 14)
AND (e.PaymentStatusID = 5) 
AND (e.TransferStatus = 1 OR e.TransferId IS NULL)

Любая помощь будет оценена?

1 Ответ

0 голосов
/ 16 декабря 2011
var query = DetachedCriteria.For<A>()
    .CreateAlias("Estimate", "estimate")
        .Add(Restrictions.Eq("estimate.PaymentStatus.Id", 5))
        .Add(Restrictions.Eq("estimate.TransferStatus", null) || Restrictions.Eq("estimate.TransferStatus", TransferStatus.WhateverIs1)) 
    .CreateCriteria("Project", JoinType.InnerJoin)
        .Add(Restrictions.Eq("ArchiveStatus.Id", 1))
        .Add(Restrictions.Eq("DateDeleted", null))
        .Add(Restrictions.Eq("OutlineAgreement.Id", 14))
    .List<A>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...