在流利NHibernate中映射1到0..1

问题描述:

可以说我有两个实体;在流利NHibernate中映射1到0..1

QuestionAnswer(Id, AnswerValue) 
Note(Id, QuestionAnswer_Id, NoteValue) 

我该如何在Fluent Nhibernate中对此进行映射?我知道有一个HasOne映射,但这是1比1,除非我错了?
我也可以将它映射为1到M,但需要一个List<Note>作为我的QuestionAnswer实体上的导航属性,对于1或0对我来说再次没有多大的意义。

感谢,钢钣

我也一直在努力。我最终做的是映射私人收藏并使用公共属性来控制收藏中的元素数量。基本上我把它当作1..n集合而不是1 .. *集合,其中n = 1。

使用一个一对一的关联,并注意设置为如果它是不可用的。

此外,请参阅Hibernate one to zero or one mapping

+0

你是说我应该将一个1映射到很多从QuestionAnswer到Note以及One to One从Note到QuestionAnswer 。正如我所提到的,这将会在我的QuestionAnswer实体上需要列表,该实体中只有1个或0个对象。对我来说似乎很古怪;有一个永远不会超过1个项目的清单。 – 4imble 2010-06-24 09:37:59

+0

为什么呢?多对一和一对一(分别是FNH中的参考和HasOne)不使用集合。 – 2010-06-24 10:29:51

+1

因为我说过使用集合的“OneToMany(HasMany)”。对不起,但看起来我的理解是关闭的。我可以直观地看到它与HasMany一起工作,因为它可以与0或1(或更多,由于是一个集合)一起工作。但是你说的是我实际上需要参考(x => x.Note).NotFound.Ignore();为QuestionAnswer的映射和HasOne (x => x.QuestionAnswer);为我的笔记的映射? – 4imble 2010-06-24 11:00:03