带有子查询的HQL映射到对象属性 - 非连接

时间:2015-08-07 07:30:05

标签: c# sql nhibernate fluent-nhibernate hql

我在现有系统(NHibernate 2.2,Fluent)上工作,但我想相信无论版本如何都可以使用HQL解决方案。

它有现有数据但缺少关系,现在需要数据。

E.g。

  1. EntityA - 没有对 EntityB
  2. 的引用
  3. EntityB ,提及 EntityA
  4. 他们都有数据存在。

    我想在搜索 EntityA

    时急切地获取 EntityB

    所以我想将 EntityB 属性添加到 EntityA

    当我获取 EntityA

    时, EntityA.EntityB 的含义将可用

    我会在SQL

    中轻松完成此操作
    SELECT
      a.col1, a.col2
    FROM
      EnityA a right join
      EntityB b ON b.EntityA_Id = a.Id
    

    但是我想HQL / Nhibernate,我必须做这样的事情(psuedo):

    select 
    a,
    (select b from EntityB b WHERE a.Id = b.EntityA_Id) as a.EntityB
    from EntityA a
    

0 个答案:

没有答案