Can you try with a backing field for Categories initialized with a
List<..>-instance?

I had strange issues before with autoproperties on collections.

-Markus

2009/7/21 steves <[email protected]>

>
> Hi,
>
> I have entity User with one-to-many relationship to
> UserToUserCategories. When I load user from database, do not change it
> and than flush the session, NHibernate will performs UPDATE of the
> user and increment it's version. It seems to me as unwanted behaviour,
> imagine that I load hundred of users and NHibernate would update them
> all when flushing. Here is the code:
>
> public abstract class EntityBase
> {
>    public virtual Guid Id { get; set; }
>    public virtual int Version { get; set; }
> }
>
> public class User : EntityBase
> {
>    public virtual IList<UserToUserCategory> UserToUserCategories
> { get; set; }
> }
>
> public class EntityBaseMap<T> : ClassMap<T> where T : EntityBase
> {
>    public EntityBaseMap()
>    {
>        this.OptimisticLock.Version();
>        this.DynamicUpdate();
>        this.Id(t => t.Id);
>        this.Version(t => t.Version);
>    }
> }
>
> public class UserMap : EntityBaseMap<User>
> {
>    public UserMap()
>    {
>        this.HasMany(u => u.UserToUserCategories)
>            .NotFound.Ignore()
>            .Cascade.All()
>            .LazyLoad()
>            .AsBag()
>            .WithTableName("UserToUserCategory");
>    }
> }
>
>
> session = SessionSource.CreateSession();
> var user = (from u in session.Linq<User>() select u).FirstOrDefault();
> session.Flush(); // here NHibernate does UPDATE statement of user's
> version
>
> Is this mapping incorrect? What am I missing?
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to