我希望创建一个左外连接 Nhibernate 查询,其中包含多个类似于此的语句:
SELECT
*
FROM [Database].[dbo].[Posts] p
LEFT JOIN
[Database].[dbo].[PostInteractions] i
ON
p.PostId = i.PostID_TargetPost And i.UserID_ActingUser = 202
我一直在玩弄标准和别名,但我没有运气弄清楚如何做到这一点。有什么建议?
最佳答案
我其实想通了。您需要检查 null
.CreateCriteria("Interactions", "i", NHibernate.SqlCommand.JoinType.LeftOuterJoin)
.Add(Expression.Or(Expression.Eq("i.ActingUser", user), Expression.IsNull("i.ActingUser")))
这会在 targetpost id 上创建一个左连接,然后消除所有非空/非用户交互。
关于NHibernate 左外连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2756148/