我知道标题可能听起来有点奇怪,但我附上了数据库设计的屏幕。我有两个主表,中间有多对多的关系。但是我们使用多对多表中的主键来引用另一个名为ResourceAllcoation表的表和外键(ProjectResourceID)
现在什么是在Resource实体中获得一袋ResourceAllocation的最佳方法?在nhibernate中有直接的方法吗?
目前我的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
它会起作用。
答案 0 :(得分:0)
您可以使用NHibernate中的多对多和IdBag来映射此内容