NHibernate左外连接

Mat*_*hew 5 nhibernate criteria left-join

我正在寻找创建左外连接Nhibernate查询与多个on语句类似于此:

SELECT 
    * 
FROM [Database].[dbo].[Posts] p
LEFT JOIN 
    [Database].[dbo].[PostInteractions] i
ON 
   p.PostId = i.PostID_TargetPost And i.UserID_ActingUser = 202       
Run Code Online (Sandbox Code Playgroud)

我一直在愚弄critera和别名,但我没有任何运气搞清楚如何做到这一点.有什么建议?

Mat*_*hew 12

我实际上已经明白了.你需要检查null

.CreateCriteria("Interactions", "i", NHibernate.SqlCommand.JoinType.LeftOuterJoin)
            .Add(Expression.Or(Expression.Eq("i.ActingUser", user), Expression.IsNull("i.ActingUser")))
Run Code Online (Sandbox Code Playgroud)

这会在targetpost id上创建一个左连接,然后消除所有非null /非用户交互.