0

私は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の流暢なHasManyマッピングのようなすべてがNULL外部キーを挿入 します
しかし、このようなリンクを挿入することは絶対に正しい方法ではないので、助けが必要です、何かアイデアはありますか?test.Orders.Add(new Order("test") { Company = test });

4

3 に答える 3

0

への変更:

Enumerable.Range(0, 100).Select(s => new Child()
    {
        Number = s.ToString(),
        Parent = p
    }).ToList().ForEach(p.Children.Add);
于 2013-04-30T10:01:20.580 に答える