NHibernate левое внешнее объединение

Я надеюсь создавать Левое внешнее объединение запрос Nhibernate с несколькими на операторах, сродни этому:

SELECT 
    * 
FROM [Database].[dbo].[Posts] p
LEFT JOIN 
    [Database].[dbo].[PostInteractions] i
ON 
   p.PostId = i.PostID_TargetPost And i.UserID_ActingUser = 202       

Я дурачился с critera и псевдонимами, но у меня не было удачи при выяснении, как делают к этому. Какие-либо предложения?

5
задан Johnno Nolan 24 August 2011 в 21:46
поделиться

1 ответ

Я действительно разобрался. Вам нужно выполнить проверку на null

.CreateCriteria("Interactions", "i", NHibernate.SqlCommand.JoinType.LeftOuterJoin)
            .Add(Expression.Or(Expression.Eq("i.ActingUser", user), Expression.IsNull("i.ActingUser")))

, это создаст левое соединение для идентификатора targetpost, а затем устранит все взаимодействия с пользователем, отличные от null / non.

12
ответ дан 13 December 2019 в 05:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: