session.Persist

2010/4/16 J. Roberto Ramírez <[email protected]>

> Buenas tardes a todos,
>
> Necesito saber si un comportamiento normal lo siguiente:
>
> Cuento con una clase Factura al cual yo le puedo asignar Detalles los
> cuales estan representados por medio de un IList<DetalleFactura> en mi clase
> Factura... cuando yo guardo una Factura nueva, desde cero, al hacer
> ISession.Save(factura) y antes del Commit() de la transacción, en ese
> momento mis Detalles de Productos ya cuentan con un id; caso contrario
> sucede cuando actualizo dicha Factura en otro request diferente.
>
> ¿Es normal al momento de consultar (uso el método Get de la ISession) y
> actualizar mi factura agregandole un nuevo detalle de la siguiente manera:
> factura.Detalles.Add(new DetalleFactura()) y hacerpor
> ISession.Update(factura) el "nuevo" DetalleFactura no cuente con id?
>
> Mi método de manejo de sesión es session-per-request y mi mappings son:
>
> *Factura.hbm.xml*
> <?xml version="1.0" encoding="utf-8" ?>
> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Core"
> namespace="Core">
>   <class name="Factura" table="tblFacturas" lazy="false">
>     <id name="Id" column="id" type="System.Int64" unsaved-value="0">
>       <generator class="identity" />
>     </id>
>     <bag name="DetalleFactura" inverse="true" cascade="all-delete-orphan"
> lazy="false" order-by="orden">
>       <key column="idFactura" on-delete="cascade"></key>
>       <one-to-many class="DetalleFactura"></one-to-many>
>     </bag>
>   </class>
> </hibernate-mapping>
>
> *DetalleFactura.hbm.xml*
> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Core"
> namespace="Core">
>   <class name="DetalleFactura" table="tblDetallesFacturas" lazy="false">
>     <id name="Id" column="id" type="System.Int64" unsaved-value="0">
>       <generator class="identity" />
>     </id>
>     <many-to-one name="Factura" class="Factura" column="idFactura"
> not-null="false" cascade="none"></many-to-one>
>   </class>
> </hibernate-mapping>
>
> Muchas gracias por la ayuda brindada.
>
> J. Roberto Ramírez
> www.robertoramirez.com.mx
> Social Media [image: Linkedin] 
> <http://www.linkedin.com/in/jramirezleyva>[image:
> Twitter] <http://twitter.com/bobbher>
>
>  --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano




-- 
Fabio Maulo

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