请问一下,NHibernate中关联查询怎么实现?
sql语句如下:select A.a1,A.a2,B.b1 from A ,B where A.a1=B.a1 and A.a2 = 0;

解决方案 »

  1.   

    session.CreateSQLQuery("select A.a1,A.a2,B.b1 from A inner join B on A.a1=B.a1 and A.a2 = 0").AddEntity(typeof(AClass));将查出来的赋值给A对应的实体类
      

  2.   

    可是查询的结果集里含有B表的字段啊!
    我使用IList list = session.CreateSQLQuery("select A.a1,A.a2,B.b1 from A inner join B on A.a1=B.a1 and A.a2 = 0").List();
    报错
      

  3.   

    Return types of SQL query were not specified
      

  4.   

    问题已经解决了,首先在xml映射中建立表的外键关联,然后查询语句为:from A as a inner join B as b where ……
    查询可以实现了,但是如果要往表里面插入数据,自动生成的插入语句中会出现一个建立外键的字段,且值为空,导致插入失败!
    放弃NHibernate的关联查询了,或许是我的方法有问题,有空再去看看!