En mi caso , estoy creando un nuevo maestro con sus nuevas lineas , tenia
entendido que lo que me comentas , ocurre al actualizar y/o eliminar un
objeto , es decir antes de actualizar/eliminar tenia que obtener el objeto y
actualizar/eliminar.
Para el manejo de la sesion , estoy usando session per request.
Para guardar hago o sgte:

Medication medication = new Medication();
medication.Id = Guid.New();
medication.Sessions.Add(new Session(),new Session(),new Session());
repository.Save(medication);


El 29 de mayo de 2011 15:42, Nestor Rodriguez <[email protected]>escribió:

> Este problema no es de mapeo.  Nhibernate esta informando que en una sesion
> tienes dos instancias de un mismo tipo con el mismo Id.  En la exception
> dice cual es el tipo de la instancia.  Lo que debes hacer es identificar en
> tu flujo donde estas cometiendo este error.
>
> Esto suele ocurrir si por ejemplo tenemos la clase empleado y con la sesion
> A consultamos todos los empleados y con la sesion B nos traemos el
> empleado(1) y luego modificamos el empleado(1) y lo guardamos PERO con la
> sesion A.  Si te das cuenta la sesion A ya tenia en cache al empleado(1) y
> ahora le dices que te guarde otra instancia del mismo empleado traido con la
> otra sesion y en el momento del Flush() sale el error.  Espero te haya
> quedado claro.
>
> Saludos,
> Nestor Rodriguez
>
>
> 2011/5/29 Jose Fabricio Rojas <[email protected]>
>
>> Buenas,
>> Tengo un problema
>> tengo un maestro y un detalle , trato de guardar en el maestro y sus
>> detalles(Lineas) y me aparece en siguiente mensaje:
>> Exception: a different object with the same identifier value was
>> already associated with the session.
>> Para esto estoy usando Conform. y NH 3, anteriormente habia hecho algo
>> similar con mapping en xml, quizas este faltando algo en el mapping by
>> code de conform.
>> Aqui las entidades y el mapping
>> Maestro->
>> mapper.Class<Medication>(cm =>
>>            {
>>                cm.Id(o => o.Id, im =>
>> im.Generator(Generators.Assigned));
>>                cm.ManyToOne(
>>                    x => x.Patient,
>>                    m =>
>>                    {
>>                        m.Column("IdPatient");
>>                        m.Fetch(FetchMode.Join);
>>                        m.NotNullable(true);
>>                    });
>>                cm.ManyToOne(
>>                   x => x.Service,
>>                   m =>
>>                   {
>>                       m.Column("IdService");
>>                       m.Fetch(FetchMode.Join);
>>                       m.NotNullable(true);
>>                   });
>>                cm.Bag(
>>                    o => o.Sessions,
>>                    x =>
>>                    {
>>                        x.Key(k => k.Column("Id"));
>>                        x.Cascade(Cascade.All);
>>                        x.Table("Session");
>>                    },
>>                    x =>
>>                        {
>>                            x.ManyToMany(k => k.Column("Id"));
>>                            x.ManyToMany(g =>
>> g.Class(typeof(Session)));
>>                        });
>>            });
>> Detalle->
>>            mapper.Class<Session>(cm =>
>>            {
>>                cm.Id(o => o.Id, im =>
>> im.Generator(Generators.Assigned));
>>                cm.ManyToOne(
>>                    x => x.Medication,
>>                    m =>
>>                    {
>>                        m.Column("IdMedication");
>>                        m.Fetch(FetchMode.Join);
>>                        m.Cascade(Cascade.Persist | Cascade.Remove);
>>                    });
>>            });
>> Espero me puedan dar luces.
>> Gracias
>>
>> --
>> Para escribir al Grupo, hágalo a esta dirección:
>> [email protected]
>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>
>
>  --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>

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