0

我知道标题可能听起来有点奇怪,但我附上了数据库设计的屏幕。我有两个主表,它们之间存在多对多关系。但是我们使用多对多表中的主键来引用另一个名为 ResourceAllcoation 的表,其中包含外键 (ProjectResourceID)

现在,在 Resource 实体中获得一袋 ResourceAllocation 的最佳方法是什么?有没有直接的方法可以在 nhibernate 中做到这一点?

目前我的休眠映射有一个到 ProjectResource 表的一对多包,然后引用 ResourceAllocation 表,我觉得这可能不是最好的方法。

请原谅我的无知。任何想法表示赞赏。 在此处输入图像描述

@kalki,当我实现你的映射时,我发现生成的 sql 查询是

SELECT 
* 
FROM PROJECTRESOURCE P 
LEFT OUTER JOIN RESOURCEALLOCATION  R 
ON P.PROJECTRESOURCEID=R.ID WHERE P.RESOURCEID=1

但这不起作用,因为 ProjectResource 没有 PROJECTRESOURCEID 列

如果生成的查询是

SELECT * 
FROM PROJECTRESOURCE P 
LEFT OUTER JOIN RESOURCEALLOCATION R 
ON P.ID = R.PROJECTRESOURCEID
WHERE P.RESOURCEID=1

它会起作用的。

4

1 回答 1

0

您可以使用 NHibernate 中的多对多和 IdBag 进行映射

于 2012-05-25T08:51:14.850 回答