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



正如题主所说,我的问题是当我写"从左边的人中选择 * 加入 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 获取人员年龄值。

有没有办法让每个对象在不更改列名称的情况下接收正确的值?

谢谢。

您可以尝试为原始 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

最新更新