I think you should use <idbag instead of <bag:
http://nhforge.org/doc/nh/en/index.html#collections-idbag

2011/3/28 Richard Wilde <[email protected]>

> I am trying to work out how to save a unidirectional parent/child
> association, I have the following bag defined
>
>
>
> <bag name="ActorList" table="ActorRole">
>
>       <key column="MovieId"  />
>
>       <composite-element class="Actor">
>
>             <property name="Name"/>
>
>       </composite-element>
>
> </bag>
>
>
>
> When I try and use the following code to save a movie and a list of actors
> then
>
>
>
> var movie = new Movie
>
>       {
>
>             Name = "Movie Name",
>
> ActorList = new List<Actor>
>
> {
>
>                         new Actor { Name = "Rippo"},
>
>                         new Actor { Name = "Ryan"}
>
>                   }
>
> };
>
>
>
> ...
>
> Session.Save(movie);
>
> . . .
>
>
>
> The following SQL code is generated, note MovieId is the foreign key and
> Id will be my Primary key on the table
>
>
>
> INSERT INTO ActorRole(MovieId, Name)
>
> VALUES('4a833388-9946-4ed9-8e83-9eb400b841e0','Rippo')
>
>
>
> However I would like NHibernate to add in my primary key Id automatically.
> Therefore I added the property
>
>
>
> <composite-element class="Actor">
>
> <property name="Name"/>
>
> <property name="Id"/>
>
> </composite-element>
>
>
>
> And the following SQL is now generated:-
>
>
>
> INSERT INTO ActorRole (MovieId, Name, Id)
>
> VALUES  '4a833388-9946-4ed9-8e83-9eb400b841e0','Rippo',
> '00000000-0000-0000-0000-000000000000')
>
>
>
> As you can see the Primary key is all zero’s, how can I tell NHibernate to
> generate the Guid for me? Is this possible?
>
>
>
> Thanks, Rippo
>
> --
> 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