2011-04-19 217 views
0

我有一个名为TimeSheet的类和一个名为Contract的类。数据库表“TimeSheet”包含一个外键“ContractOID”,而契约类包含TimeSheet的一个实例作为聚合。NHibernate映射外键

现在我想让NHibernate在我的表“TimeSheet”中插入Contract的OID作为外键。

如果合同包含时间表列表,我将通过一对多关联来实现,但在特殊情况下如何处理这个问题?

+0

难道你不希望合同有一个一对多的时间表? I.E.你会不会在单个合同中提交多个时间表?正如我在过去几年一直在潜心对象建模一样,我学会了对纯粹的1-1映射(除了类层次映射)的警惕。我也了解到,多对多并不存在。该交界表比人们意识到的更重要。 – 2011-06-24 05:49:09

回答

0
+0

我已经尝试了一对一的映射,但在我的情况下它并没有工作。 我以为会有另一种方式。我试图避免这一步,但现在我把TimeSheet的聚合放入一个列表中。 这是一个肮脏的解决方案,但它的工作原理。 – Cr3at0rX 2011-04-19 12:38:44

+0

什么都不起作用? – mathieu 2011-04-19 12:45:58

+0

外键不会被更新或插入 – Cr3at0rX 2011-04-21 11:05:50

0

听起来像是一个一对一的映射在我身上?它是否正确?

在这里看到:NHibernate Mapping - one-to-one

+0

我已经尝试了一对一的映射,但在我的情况下它并没有工作。 我以为会有另一种方式。我试图避免这一步,但现在我把TimeSheet的聚合放入一个列表中。 这是一个肮脏的解决方案,但它的工作原理。 – Cr3at0rX 2011-04-19 12:37:50