Para que le cambias el id a award?

El 14/03/11, sondx <[email protected]> escribió:
> Hola amigos, tengo un problemita en la actualizacion de datos en una
> relacion de uno a muchos, las clases que interactuan son Authors,
> Awards, Books, bueno entre las clases Authors y Awards la relacion es
> de one-to-many, y entre las clases Authors y Books es de many-to-many.
> estos son los mapeos
>
>    <class name="Autor.Core.BusinessObjects.Author, Autor" table="[dbo].
> [Authors]" lazy="true">
>               <id name="Id" column="[AuthorId]">
>                       <generator class="assigned" />
>               </id>
>               <property name="FirstName" column="[FirstName]" />
>               <property name="LastName" column="[LastName]" />
>               <bag name="Awards" lazy="true" cascade="all-delete-orphan"
> inverse="true" >
>                       <key column="[AuthorId]"></key>
>                       <one-to-many class="Award"></one-to-many>
>               </bag>
>               <bag name="Users" table="[dbo].[Users_Authors]" lazy="true"
> cascade="all" inverse="false" >
>                       <key column="[AuthorId]"></key>
>                       <many-to-many column="[UserId]" class="User" />
>               </bag>
>               <bag name="Books" table="[dbo].[Authors_Books]" lazy="true"
> cascade="all" inverse="false" >
>                       <key column="[AuthorId]"></key>
>                       <many-to-many column="[BookId]" class="Book" />
>               </bag>
>       </class>
>
>       <class name="Autor.Core.BusinessObjects.Award, Autor" table="[dbo].
> [Awards]" lazy="true">
>               <id name="Id" column="[AwardId]">
>                       <generator class="assigned" />
>               </id>
>               <property name="Dates" column="[Dates]" />
>               <property name="Description" column="[Description]" />
>               <many-to-one name="Author" column="[AuthorId]" class="Author" />
>       </class>
>
>        <class name="Autor.Core.BusinessObjects.Book, Autor"
> table="[dbo].[Books]" lazy="true">
>               <id name="Id" column="[BookId]">
>                       <generator class="native" />
>               </id>
>               <property name="Isbn" column="[Isbn]" />
>               <property name="Title" column="[Title]" />
>               <bag name="Reviews" lazy="true" cascade="all-delete-orphan"
> inverse="true" >
>                       <key column="[BookId]"></key>
>                       <one-to-many class="Review"></one-to-many>
>               </bag>
>               <bag name="Authors" table="[dbo].[Authors_Books]" lazy="true"
> cascade="all" inverse="false" >
>                       <key column="[BookId]"></key>
>                       <many-to-many column="[AuthorId]" class="Author" />
>              </bag>
>       </class>
>
> y este es el metodo de actualizacion
>
>     using (IAuthorManager manager = new
> ManagerFactory().GetAuthorManager()) {
>                 try {
>                     manager.Session.BeginTransaction();
>                     int i = 0;
>                     foreach (var award in author.Awards) {
>                         award.Id = author.Id + (++i);
>                         award.Author = author;
>                     }
>                     manager.Update(author);
>                     manager.Session.CommitTransaction();
>                     return true;
>                 } catch (Exception ex) {
>                     manager.Session.RollbackTransaction();
>                     Console.WriteLine(ex);
>                     return false;
>                 }
>             }
>
> El problema esta que cuando intento hacer una actualizacion (quitar un
> registro) entre la clases Authors y Awards el ultimo registro en la
> tabla se duplica, estuve buscando en google alguna solución pero no
> encontre ... nose realmente que estare haciendo mal.. nose si alguien
> me podria ayudar en eso.
> De antemano les agradezco su ayuda.
>
> --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano

-- 
Enviado desde mi dispositivo móvil

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a