Save() does not necessarily issue and immediate INSERT. This depends
on your choosen identity generator.

http://ayende.com/Blog/archive/2009/03/20/nhibernate-avoid-identity-generator-when-possible.aspx

/Oskar


2011/2/14 djn <[email protected]>:
> Hi.
>
> We're migrating a legacy project from a proprietary in-house ORM to
> NHibernate 3.0.0 on .net 4, and it is working fine.
>
> However, I have a question regarding when to call Session.Save(), when
> we create new instances.
>
> pseudo code: (1)
> var p = new Parent();
> var c = new Child();
> _session.Save(p);
> _session.Save(c);
> c.Parent = p;
> p.Children.Add(c);
> _session.Flush();
>
> If we do the above, nhibernate translates it to two statements, an
> INSERT and UPDATE.
> But, the Child has not-null constraint on its foreign key so INSERT
> fails.
>
> It works If we do: (2)
> var p = new Parent();
> var c = new Child();
> p.Children.Add(c);
> c.Parent = p;
> _session.Save(p);
> _session.Save(c);
> _session.Flush();
>
> The above samples are simplified, but illustrates our issue quite
> well.
>
> We'd like to do the (1), as that would require the least changes in
> our code. Is it possible to tell NHibernate to only make one INSERT
> instead of INSERT & UPDATE in that case?
>
> Best regards,
> ./Daniel
>
> --
> 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.
>
>

-- 
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