编程语言
首页 > 编程语言> > c# – Nhibernate QueryOver左外连接条件

c# – Nhibernate QueryOver左外连接条件

作者:互联网

我在网上找到了一些资源,但实际上并没有能够对这个资源进行排序

基本上我有一个查询,它有两个左外连接

var query = session.QueryOver<NewsPost>(() => newsPostAlias)
                    .Left.JoinQueryOver(x => newsPostAlias.PostedBy, () => userAlias)
                    .Left.JoinQueryOver(x => newsPostAlias.Category, () => categoryAlias)
                        .Fetch(x => x.PostedBy).Eager
                        .Fetch(x => x.Category).Eager
                    .Where(x => !x.Deleted);

这可能是一种无效的方式,但似乎没有中断.现在我要做的是在两个已经离开了连接的表上,我想确保这两个表中的Deleted列都是false.

然而,每当我添加该限制时,结果仅在填充新闻帖子中的外键列时才返回,但由于这是可以为空的,为什么我将其作为左外连接,这是不可取的.

什么是基本上制作它的最佳方式

.Where(x => !x.Deleted && !x.PostedBy.Deleted && !x.Category.Deleted);

我已经研究了多个查询,期货和分离,我不确定应该采取什么方法,显然我可以想到一些方法(我的直觉告诉我的方法)这样做但是方法是什么?

标签:c,hibernate,nhibernate,queryover
来源: https://codeday.me/bug/20190614/1237006.html