Have you tried setting the HasMany to Inverse?

public class ParentMap : ClassMap<Parent>
{
    public ParentMap()
    {
        Id(x => x.Id)
            .GeneratedBy.Identity()
            .UnsavedValue(0);
        Version(x => x.HB_Version);
        Map(x => x.Name, "Name")
            .Not.Nullable();
        HasMany<ContainerHistory>(x => x.History)
            .AsSet()
            .LazyLoad()
            .Inverse() //here
            .Cascade.AllDeleteOrphan();
    }
}

RP


On Wednesday, October 9, 2013 8:57:58 PM UTC+1, José Juniors Rocaspana 
wrote:
>
> Hello all, I'm running into some issues with NH and child collections.
> Currently I'm using NHibernate + Fluent; t
>
> Here my entities:
>
> public class Parent : Entity
> {
>     private ICollection<Child> m_children = new HashedSet<Child>();
>
>     public virtual string Name { get; set; }
>     public virtual ICollection<Child> Children { get { return m_children; 
> } set { m_children = value; } }
> }
>
>
> public class Child : Entity
> {
>     public virtual Parent ParentObj { get; set; }
>     public virtual String MoreInformation { get; set; }
> }
>
> And here my mappings:
>
> public class ParentMap : ClassMap<Parent>
> {
>     public ParentMap()
>     {
>         Id(x => x.Id)
>             .GeneratedBy.Identity()
>             .UnsavedValue(0);
>         Version(x => x.HB_Version);
>         Map(x => x.Name, "Name")
>             .Not.Nullable();
>         HasMany<ContainerHistory>(x => x.History)
>             .AsSet()
>             .LazyLoad()
>             .Cascade.AllDeleteOrphan();
>     }
> }
>
> public class ChildMap : ClassMap<Child>
> {
>     public ChildMap()
>     {
>         Id(x => x.Id)
>             .GeneratedBy.Identity()
>             .UnsavedValue(0);
>         Version(x => x.HB_Version);
>         References(x => x.Container).Index("IX_Container");
>         Map(x => x.MoreInformation, "MoreInformation").Not.Nullable();
>     }
> }
>
> The problem is that whenever I add a new item to the Parent.Children 
> collection, an update is performed on all previous child items of the 
> collection.. using NHibernate Profiler I found out that only the version 
> (HB_Version field) is being updated (incremented by 1 each time I add a new 
> item to the collection).
>
> I tried using .Not.OptimisticLock() in the HasMany map and even in the 
> References mal (in ChildMap) but the problem remains.
>
> I'm missing something? Or it's the desired behaviour that every time the 
> parent is modified all the child elements are updated aswell?
>
> Any help or suggestion will be greatly appreciated!!!
>
> Kind regards,
> José.-
>
> P.S.: Please excuse my english :)
>

-- 
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/groups/opt_out.

Reply via email to