I have a parent-childs relation as described under:

public class Parent {
        ...
        IList<Child> _childs = new List<Child>();
        public virtual IEnumerable<Child> Childs {
            get { return _childs.AsEnumerable<Documento>(); }
        }
        ...
}

The related mapping is bidirectional:

class ParentMap
        : ClassMapping<Parent > {

        ...

        Bag(x => x.Childs, cm =>  {
                cm.Inverse(true);
                cm.Access(Accessor.NoSetter);
                cm.Lazy(CollectionLazy.Lazy);
                cm.Key(key => {
                    key.Column(map => map.Name("idproductcard"));
                    key.NotNullable(true);
                    key.OnDelete(OnDeleteAction.Cascade);
                });
                cm.OrderBy("absoluteposition asc");
                cm.Cascade(Cascade.All | Cascade.DeleteOrphans);
            }, m =>
            {
                m.OneToMany(otm => otm.Class(typeof(Child)));
            });

        ...
}

class ChildMap
        : ClassMapping<Child> {
        ...
        ManyToOne<Parent>("Owner", map => map.Column("idproductcard"));
        ...
}

The idproductCard column in Child table isn't nullable.
The problem is that all works fine excepts for deletion: when I perform a deletion, the childs data arent'deleted from db.

If I change db column from not-nullable to nullable, also deletion works fine... in my real case I can't change this column due to legacy db.

Why I can't removes child records? Maybe because the column isn't nullable and NH can't orphaned the records? Then key.NotNullable(true) in the mapping is skipped?
I need to invoke manually deletion of this childs collection?
I'm still on 4.0.0.4000.

Thanks in advance.

--
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/d/optout.

Reply via email to