【发布时间】:2011-07-30 19:10:53
【问题描述】:
我对这样的情况有疑问:
public class Foo
{
public Foo()
{
Bars = new List<Bar>();
AddBar(new Bar(this));
}
public IList<Bar> Bars {get;private set;}
public Bar LastBar {get;private set;}
public void AddBar(Bar bar)
{
Bars.Add(bar);
LastBar = bar;
}
}
public class Bar
{
public Bar(Foo foo)
{
BelongsToFoo = foo;
}
public Foo BelongsToFoo {get;private set;}
//...
}
当我这样做时:
var f = new Foo();
Repository.Save<Foo>(f); // -> exception - BelongsToFoo is null
当我删除更新 LastBar
LastBar = bar;
并设置为可空一切正常,但 LastBar 为空,当然。我想正确分配和保存最后一个 Bar。
我应该如何正确映射这些实体?
编辑 1
这仅在创建新对象时发生。当我更新 Foo 并添加新栏时,一切正常。
【问题讨论】:
标签: nhibernate fluent-nhibernate reference mapping