Fluent Nhibernate - 当Child引用父级而不使用列表时,在父级中映射子级

时间:2010-05-17 18:55:59

标签: c# nhibernate fluent-nhibernate nhibernate-mapping

我在数据库中有一个如下所示的子对象:

CREATE TABLE Child
(
ChildId  uniqueidentifier not null,
ParentId uniqueidentifier not null
)

然后我有一个这样的父母。

CREATE TABLE Parent
(
ParentId uniqueidentifier not null
)

现在,问题是在我的Parent类中,我有

public virtual Child Child { get; set; }

如果可能,我不想使用列表。我知道我可以在列表中使用hasmany,然后在Parent.Child属性中从列表中选择前1位。

我已尝试过引用,hasone,referencesany,似乎无法正确映射。有人有主意吗?

谢谢,

2 个答案:

答案 0 :(得分:1)

我将这种类型的关系建模为一对多关系,其中许多方面被限制为n个元素(在这种情况下n = 1)。我将许多方面建模为父级的私有集合,并通过属性限制元素的数量。请参阅this question

答案 1 :(得分:-1)

我不得不使用一个列表,然后Child属性只抓取列表中的第一个。不知道,但它确实有效。