我有 2 个实体:
public class Parent
{
public virtual string Number { get; set; }
public virtual IList<Child> Children { get; set; }
public Parent()
{
Phones = new List<Child>();
}
}
public class Child
{
public virtual string Number { get; set; }
public virtual Parent Parent { get; set; }
}
和映射:
孩子
public ChildMap()
{
Map(x => x.Number).Not.Nullable();
References(x => x.Parent).Nullable().LazyLoad().Cascade.None();
}
和父母
public ParentMap()
{
Map(x => x.Number).Not.Nullable();
HasMany(x => x.Children).Inverse().Cascade.All();
}
但是当我将孩子插入父母时,它在父外键中带有null。
var p = rep.Get(g => g.Id == 1);
Enumerable.Range(0, 100).Select(s => new Child()
{
Number = s.ToString()
}).ToList().ForEach(p.Children.Add);
rep.Update(p);
rep.Flush();
实际上,就像NHibernate fluent HasMany 映射中的所有内容都插入 NULL 外键
但是像这样插入链接test.Orders.Add(new Order("test") { Company = test });
绝对不是正确的方式,所以我需要帮助,有什么想法吗?