Subquery

本文介绍了一种使用 NHibernate 框架进行复杂用户角色查询的方法。通过 DetachedCriteria 和 Projections 实现了对用户 Id 的唯一性筛选,并进一步关联角色信息完成查询。此方案适用于需要高效获取具有特定角色的用户列表的应用场景。

ICriteria crit = session.CreateCriteria(typeof(User));

 

DetachedCriteria userIdsForRoles = DetachedCriteria.For(typeof(User))

      .SetProjection(Projections.Distinct(Projections.Property("Id")))

      .CreateCriteria("Roles")

      .Add(Expression.Eq("role.Id", roleId.Value));

     

crit.Add(Subqueries.PropertyIn("Id", userIdsForRoles));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值