我正在尝试加入两个休眠查询的结果。我在这里面临的问题是,它首先获取两个查询的所有行,然后执行 where,这大大减慢了它的速度。发生这种情况是因为我正在执行 List()。但是没有它就无法进行连接。
var results= from u in session.QueryOver<User>().List()
join ur in session.QueryOver<UserRights>().List()
on u.Id equals ur.User.Id
where u.Deleted == false && (ur.Role.Id == 10 || ur.Role.Id == 20)
如何构建语句以使查询在加入之前不会获得所有用户和用户权限以及在哪里?