正如题主所说,我的问题是当我写"从左边的人中选择 * 加入 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_person
和age_animal
。