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
