NHibernate - 在两个连接表中具有相同列名的CreateSqlQuery

时间:2017-08-25 07:23:04

标签: sql nhibernate hibernate-mapping

正如主题所述,我的问题是,当我写'&34;选择*从人左边加入animle on preson.animle_id = animle.ID"

现在,如果两个表都有"年龄"例如,我有一个问题:

var query = "select * from person left join animle on preson.animle_id = animle.ID";

var List<Object[]> = createSqlQuery(query).addentity(person).addentity(animle).list<Object[]>();

animle.age获得了人的年龄值。

是否有一种方法可以在不更改列名的情况下接收正确的值?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试为原始SQL查询中的每个age列分配唯一的别名:

SELECT
    t1.age AS age_person,
    t2.age AS age_animal,
    ...    -- other columns
FROM person t1
LEFT JOIN animle t2
    ON t1.animle_id = t2.ID

我对C#或NHibernate不太熟悉,但您应该像访问任何其他专栏一样访问age_personage_animal