【发布时间】:2014-03-03 14:29:19
【问题描述】:
我有一个我认为很简单的查询,但我一生都无法弄清楚如何使用 nhibernate 2.X 做到这一点。
假设我有一个连接同一张表的简单 SQL 查询,我如何返回对象列表?
select primary_details.*,
secondary_details.*,
from details primary_details
JOIN details secondary_details
ON primary_details.ID = secondary_details.ID;
现在显然还有其他标准可以应用,所以我不会得到重复的相同数据的结果集,但我已经为我的问题简化了它。
如果我只是从详细信息中进行选择,我的详细信息域和映射工作正常,但我需要的是一个包含数据的结果集,以便我可以绘制从 primary_details 到 secondary_details 的列。
任何想法将不胜感激。即使解决方案是以某种方式在 nhibernate 之外处理这个问题。
简化的映射文件:
<class name="details" table="details" lazy="true" schema-
action="none">
<id name="ID">
<column name="ID" sql-type="varchar(32)" />
</id>
<property name="Name">
<column name="Name" not-null="false" />
</property>
<property name="Value">
<column name="laboratory_id" not-null="false" />
</property>
</class>
干杯
【问题讨论】:
-
您收到的错误信息是什么?或者它根本不返回任何行?
-
它无法将 secondary_details 中的任何列映射到域,因为它们显然不存在。知道如何解决这个问题吗?
-
您想进行一次连接还是递归树状提取?您还可以添加一小部分目标代码吗?
标签: c# nhibernate nhibernate-mapping