如何从表中获取包/列表/集合,该表具有到表的间接链接

时间:2012-05-25 06:59:15

标签: nhibernate nhibernate-mapping

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

现在什么是在Resource实体中获得一袋ResourceAllocation的最佳方法?在nhibernate中有直接的方法吗?

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

请原谅我的无知。任何想法都表示赞赏。 enter image description here

@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

它会起作用。

1 个答案:

答案 0 :(得分:0)

您可以使用NHibernate中的多对多和IdBag来映射此内容