Buenas tardes, otra vez aqui dando lata:

Hace unos días, en este thread
http://groups.google.com/group/nhibernate-hispano/browse_thread/thread/187664b60db361a5
había hablado
sobre un modelo Factura ==> Detalle y ahora tengo otro problemita por
resolver, agradecería mucho la opinión de todos ustedes.

Cuando guardo la factura con su detalle, requiero que mi lista de detalles
este ordenada usando list ya que según el post de ayende (
http://ayende.com/Blog/archive/2009/06/02/nhibernate-mapping-ltlistgt.aspx),
mapear mi lista como list, me permite ordenar de manera automática

Pero también puedo eliminar mi factura borrando en cascada todo su detalle,
solo que al final del request cuando ejecuto el commit, nhibernate me lanza
la siguiente excepción:

session.Delete(Factura);

"could not delete collection: [Core.Factura.Detalle#72][SQL: UPDATE
tblDetalles SET idFactura = null, orden = null WHERE idFactura = @p0]"

Mi mapping:

<?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>
    <many-to-one name="Cliente" class="Cliente" column="idCliente"
not-null="true" cascade="none"></many-to-one>
    <list name="Detalle" table="tblDetalles" cascade="all-delete-orphan"
lazy="false">
      <key column="idFactura"/>
      <index column="orden"/>
      <one-to-many class="DetalleFactura"></one-to-many>
    </list>
  </class>
</hibernate-mapping>

Yo entiendo que al final nh lo que pretende realizar es un update sobre mi
tblDetalles para ordenar, pero al ya no existir el detalle pues lanza la
excepción.

Agradezco la ayuda que me puedan brindar.

Uso la versión 2.1.0.400 de la librería.
--
Roberto Ramírez

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